今天在开发前台页面时发现jquery绑定click事件,怎么都不生效。
<input id="ceshisub" type="button" value="单击事件" >
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时在进行绑定
第二个方式就是先要保证页面元素都初始化完成后,在去进行绑定,这时所有的元素都已将初始化完成,肯定能绑定上。
网友评论文明上网理性发言 已有0人参与
发表评论: