jquery绑定事件不生效的解决方法

内容摘要
今天在开发前台页面时发现jquery绑定click事件,怎么都不生效。代码如下: 1.html:<input id="ceshisub" type="button" value="单击事件" > 2.html引用的test.js中的方法函数: 复
文章正文
今天在开发前台页面时发现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时在进行绑定
第二个方式就是先要保证页面元素都初始化完成后,在去进行绑定,这时所有的元素都已将初始化完成,肯定能绑定上。
代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!