本文分析了jQuery中绑定()事件的用法,供大家参考,具体分析如下:

让我们来看看它的定义。


。绑定(事件类型{,}(事件数据,处理器间的事件))


绑定()方法的主要功能是将某些事件方法的行为提供给绑定到它的对象。该期间的三个参数的含义如下所示:

EventType is an event type of a string type, an event that you need to bind.This type can be as follows: blur, focus, focusin, focusout, load, resize, scroll, unload, click, dblclick, MouseDown, MouseDown, unload, x, R, R, R, R, R, R, R, D, R, R, D, R, D, R, D, R, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, D, C, x,What we need to notice here is that we use the event method in Javascript instead of JQuery. jQuery中的事件的方法在前面的Javascript是超过,如onclick事件等等。

eventdata参数是可选参数,但它是在平时少用。如果提供这个参数,我们可以通过一些额外信息的事件处理函数,参数具有很好的使用处理闭包的问题。我会给你一个例子。

汉德勒是用来绑定的处理数,实际上它也是回调函数,处理数据后的相应方法。

1。第一个简单的绑定()事件hello单词




$(函数(){())
$(# btnfirst )Bind(单击。
警报(Hello World);
});
})



打开页面后,单击按钮单击弹出世界,这是最简单的绑定事件,非常简单。

2。多个事件绑定

我们可以将多个事件绑定(事实上,这也是在jQuery和LINQ非常著名的连锁规划),实现的主要功能是弹出你好世界当我们点击按钮时,你离开了,一个div显示。







$(函数(){())
$(# btnfirst )Bind(单击。
警报(Hello World);
})。Bind(mouseout
$(# testdiv ),(慢);
});
})



这个代码页很容易理解,当按钮被点击时,它弹出一个Hello World,当它离开时显示div,jQuery中的动画可以使用慢、快、正常,当然你也可以设置毫秒数。

该3.bind对象()事件

处理程序回调函数可以接受一个参数,当函数被调用时,Javascript事件对象将作为参数传入。

这一事件的对象通常是一个参数,是不必要的,可以省略,因为这个事件处理函数的结合,它可以清楚地知道应该做什么的时候他触发,通常他可以得到足够的信息。但在有些情况下,更多的信息是关于用户的环境需要时获得的事件初始化。

在jQuery网站上面举个例子:



P {背景:黄色;font-weight: bold;鼠标指针;3填充:5px;}
p.over {背景:# CCC;}
跨度{颜色:红色;}

单击或双击此处。


$(p)。Bind(单击
var str =(+ event.pagex +
$()!+ STR;
});
$(p)Bind(双击。
$(跨度)。文本(双击发生在+的形式);
});
$(p)。Bind(MouseEnter MouseLeave
$(这)。ToggleClass();
});



这里的主要功能是实现当用户单击p对象时,当前页坐标的相对坐标显示在跨度标记中,这里是事件事件。

4.unbind()事件

Unbind({型},{资料},汉德勒)是结合反向操作(),将从每一个匹配的元素绑定事件。如果没有参数,则删除所有绑定的事件。您可以取消绑定一个自定义事件注册与绑定()。如果事件类型作为一个参数,只有这种类型的结合事件被删除。如果在结合通过处理函数为二参数,只有特定的事件处理函数将被删除。





我喜欢jQuery!!


失去焦点


函数的MyClickOut(){
警报(外部div);
}
函数的MyClickInner(){
警报(内部分区);
}
函数的MyBodyClick(){
警报(身体单击);
}
函数(){()
警报(我跨越。);
}
$(函数(){())
$(# myspan )Bind(单击。
})
$(函数(){())
$(# loosefocus )Unbind(单击。
})



上面的代码很好理解,就是当用户的鼠标停留在跨度上,然后取消鼠标的点击事件,所以,它最终会在体内弹出。

最后,一个简单的使用一个理解()事件,事实上,是作为一个绑定相同,都是为了绑定事件。一是结合一样,使一个小的调整来注册事件处理函数时调用jquery.event.add.one调用代理通过的jquery.event.proxy.when事件触发函数调用代理的事件处理函数,事件是从缓存中移除,先执行注册事件函数,这是关闭的应用程序,和一个参考事件函数由FN的封闭获得注册。

使用规则:


一个(类型,{数据},FN)


结合一个一次性的事件处理函数对特定事件(如单击)为每个匹配的元素。在每一个对象,这个事件处理函数只会被执行一次。其他规则作为绑定相同的()函数。这个事件处理函数接收一个事件对象,可以用来防止该默认行为(浏览器)。如果你想取消默认行为,停止事件冒泡,事件处理函数必须返回false。

坚持自己的代码,实现绑定一个,你可以做一点:

绑定()代码的实现:


函数(类型,数据,FN){
返回类型=卸载this.one(类型、数据,FN):this.each(函数(){
/ / FN FN | |数据数据,实现数据的参数不是必需的
JQuery.event.add(,| |数据类型,FN,FN的数据);
});
}


一()代码的实现:


一:函数(类型,数据,FN){
var =一jquery.event.proxy(FN | |数据功能(事件){
jQuery(this)。Unbind(事件的);
返回(FN数据| |)。申请(这观点);
当前元素
});
返回this.each(函数(){()
JQuery.event.add(,,,FN的数据);
});
}


5,最后,实际上要坚持泡沫事件,因为当处理绑定事件时,如果调用内部事件可能触发外部事件,让我们给每个人一个教训。

下面是对Javascript事件冒泡文章的引用:Javascript事件气泡介绍和应用程序。

总之,什么是泡沫事件事实上,一个简单的理解也是一个事件传播。它从内部控件广播到父类的元素,然后上升到祖先级别的元素。

冒泡实例代码:






我喜欢jQuery!!





函数的MyClickOut(){
警报(外部div);
}
函数的MyClickInner(){
警报(内部分区);
}
函数的MyBodyClick(){
警报(身体单击);
}
$(函数(){())
$(# myspan )Bind(单击。
警报(我正在);
event.stoppropagation();
});



希望本文能对大家的jQuery程序设计有所帮助。