今天在开发前台页面时发现jquery绑定click事件,怎么都不生效。代码如下: 1.html:<input id="ceshisub" type="button" value="单击事件" > 2.html引用的test.js中的方法函数: 复制代码 代码如下: $("#ceshisub").bind("click",function(){ var a=1; a +=1; alert("ceshisub"); }); 出现的问题就是在页面中点解“单击事件”按钮没有任何反应,打开js调试窗口在var a=1;这一行打的断点没有进来。 解决的办法是: 一、在上述js函数上添加加载事件: 添加后的代码如下: 复制代码 代码如下: $(function(){ $("#ceshisub").bind("click",function(){ var a=1; a +=1; alert("ceshisub"); }); }); 这样的话,绑定事件就生效了。 js的加载函数共有三个,除了上述的 复制代码 代码如下: $(function(){ alert("第1种方法。"); }); 还有以下两个方法: 复制代码 代码如下: window.onload=function(){ alert("第2种方法。"); } $(document).ready(function(){ alert("第3种方法。"); }); 二、如果不采用js加载函数来对绑定事件进行初始化的话还有一个方法: 将引用js的语句 <script language="javascript" src="/js/test.js"></script> 放到页面的最后面进行加载。 总结: jquery在元素上A绑定事件时,首先会在docment中查找该元素A,如果没有找到则绑定失败。 上面第一个解决方式是在页面初始化后,在初始化js时在进行绑定 第二个方式就是先要保证页面元素都初始化完成后,在去进行绑定,这时所有的元素都已将初始化完成,肯定能绑定上。 |
|