jquery中正为因事件绑定功能现在在html或div上很难看到onclick之类的事件了
而直接使用#id
class名
然后由live()
bind()方法绑定再操作了
下面我来介绍绑定事件之live()
bind()方法用法
live() 方法为被选元素附加一个或多个事件处理程序并规定当这些事件发生时运行的函数
通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的元素(比如由脚本创建的新元素)
问题使用jQuery的live()方法绑定事件有时会出现重复绑定的情况如当点击一个按钮时此按钮所绑定的事件会并执行n遍
解决使用die()方法在live()方法绑定前将此元素上的前面被绑定的事件统统解除然后再通过live()方法绑定新的事件
Js代码
代码如下复制代码
//先通过die()方法解除再通过live()绑定
$("#selectAll")die()live("click"function(){
//事件运行代码
});
使用jquery也有近年了今天在看国外大牛代码突然发现一个地方没看明白代码如下
代码如下复制代码
$(window)bind(loadjcarousel function() { windowLoaded = true; });
也许我对jQuery的了解不多吧自己也就看过一本jQuery的入门书然后总是在工作中学习碰着问题了就总结一点学习一点嘿嘿也许为什么动不动公司招人就是年以上工作经验什么的确实实战才是能让人最快速提高的
找到jQuery API解释如下
一次可以绑定多个事件如
代码如下复制代码
$(#foo)bind({
click: function() {
// do something on click
}
mouseenter: function() {
// do something on mouseenter
}
});
任何作为type参数的字符串都是合法的如果一个字符串不是原生的JavaScript事件名那么这个事件处理函数会绑定到一个自定义事件上这些自定义事件绝对不会由浏览器触发但可以通过使用trigger()或者triggerHandler()在其他代码中手动触发
如果type参数的字符串中包含一个点()字符那么这个事件就看做是有命名空间的了这个点字符就用来分隔事件和他的命名空间如
$objbind(clickname handler) 那么字符串中的 click 是事件类型而字符串 name 就是命名空间