|
今天在開發(fā)前臺頁面時發(fā)現(xiàn)jquery綁定click事件,怎么都不生效。代碼如下: 1.html:<input id="ceshisub" type="button" value="單擊事件" > 2.html引用的test.js中的方法函數(shù): 復(fù)制代碼 代碼如下: $("#ceshisub").bind("click",function(){ var a=1; a +=1; alert("ceshisub"); }); 出現(xiàn)的問題就是在頁面中點(diǎn)解“單擊事件”按鈕沒有任何反應(yīng),打開js調(diào)試窗口在var a=1;這一行打的斷點(diǎn)沒有進(jìn)來。 解決的辦法是: 一、在上述js函數(shù)上添加加載事件: 添加后的代碼如下: 復(fù)制代碼 代碼如下: $(function(){ $("#ceshisub").bind("click",function(){ var a=1; a +=1; alert("ceshisub"); }); }); 這樣的話,綁定事件就生效了。 js的加載函數(shù)共有三個,除了上述的 復(fù)制代碼 代碼如下: $(function(){ alert("第1種方法。"); }); 還有以下兩個方法: 復(fù)制代碼 代碼如下: window.onload=function(){ alert("第2種方法。"); } $(document).ready(function(){ alert("第3種方法。"); }); 二、如果不采用js加載函數(shù)來對綁定事件進(jìn)行初始化的話還有一個方法: 將引用js的語句 <script language="javascript" src="/js/test.js"></script> 放到頁面的最后面進(jìn)行加載。 總結(jié): jquery在元素上A綁定事件時,首先會在docment中查找該元素A,如果沒有找到則綁定失敗。 上面第一個解決方式是在頁面初始化后,在初始化js時在進(jìn)行綁定 第二個方式就是先要保證頁面元素都初始化完成后,在去進(jìn)行綁定,這時所有的元素都已將初始化完成,肯定能綁定上。 |
|
|