2012-03-01 68 views
0

我正在運行一些jQuery/JavaScript事件/方法,並且它們只能在整個文檔重新獲得它以前的內容之後才工作。怎麼來的?jQuery方法不是永久的?

<html> 
    <head> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function(){ 
     //jquery 
     $("#f").submit(function(){ 
      $("h3").toggle(); 
      //alert("hello"); 
     }); 
     $("button").click(function(){ 
      alert("ZZZZZ"); 
     }); 
     }); 
    </script> 
    <title>Catalog Nova Grup</title> 
    </head> 
    <body> 
    <center> 
     <h3 style="color:#00F">Catalog Nova Grup</h3> 
    </center> 
    <form id="f"> 
     <select id="s1"> 
     <option>---</option> 
     <option>ZZZ</option> 
     </select> 
     <select id="s2"></select> 
     <select id="s3"></select> 
     <input type="submit" id="sb" /> 
    </form> 
    <button>ZZZ</button> 
    </body> 
</html> 
+0

請發佈一些html和js代碼。 – 2012-03-01 10:30:55

回答

3

你可能需要從您的事件處理程序return false或使用e.preventDefault()其中e傳遞到您的事件處理程序的事件對象。

例如,在連接到<form>元素submit處理程序,你應該做的之一:

$("#f").submit(function() { 
    //do your stuff 

    return false //stop browser following link 
}); 

或:

$("#f").submit(function(e) { 
    e.preventDefault(); //stop browser following link 

    //do your stuff 
}); 

編輯: 發生了什麼是瀏覽器提交表單,默認導致頁面重新加載

2

由於表單正在提交,請用return false;停止。或者,向提交匿名函數添加一個參數,並致電.preventDefault()

$(document).ready(function() { 
    //jquery      
    $("#f").submit(function() { 
     $("h3").toggle(); 
     //alert("hello"); 
     return false; 
    }); 
    $("button").click(function() { 
     alert("ZZZZZ"); 
    }); 
});