最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

jQuery中如何绑定和取消hover事件(附代码)

来源:动视网 责编:小采 时间:2020-11-27 19:30:40
文档

jQuery中如何绑定和取消hover事件(附代码)

jQuery中如何绑定和取消hover事件(附代码):这篇文章主要讲了如何使用bind去绑定hover方法,以及如何用unbind取消绑定的事件,具有一定的参考价值,有需要小伙伴可以看看。在网页设计中,我们经常使用jquery去响应鼠标的hover事件,和mouseover和mouseout事件有相同的效果,但是这其中其中如何使用bi
推荐度:
导读jQuery中如何绑定和取消hover事件(附代码):这篇文章主要讲了如何使用bind去绑定hover方法,以及如何用unbind取消绑定的事件,具有一定的参考价值,有需要小伙伴可以看看。在网页设计中,我们经常使用jquery去响应鼠标的hover事件,和mouseover和mouseout事件有相同的效果,但是这其中其中如何使用bi


这篇文章主要讲了如何使用bind去绑定hover方法,以及如何用unbind取消绑定的事件,具有一定的参考价值,有需要小伙伴可以看看。

在网页设计中,我们经常使用jquery去响应鼠标的hover事件,和mouseover和mouseout事件有相同的效果,但是这其中其中如何使用bind去绑定hover方法呢?如何用unbind取消绑定的事件呢?

一、如何绑定hover事件

先看以下代码,假设我们给a标签绑定一个click和hover事件:

$(document).ready(function(){
 $('a').bind({
 hover: function(e) {
 // Hover event handler
 alert("hover");
 },
 click: function(e) {
 // Click event handler
 alert("click");
 }
 });
});

当点击a标签的时候,奇怪的事情发生了,其中绑定的hover事件完全没有反应,绑定的click事件却可以正常响应。
但是如果换一种写法,比如:

$("a").hover(function(){
 alert('mouseover');
}, function(){
 alert('mouseout');
})

这段代码就可以正常的运行,难道bind不能绑定hover?

其实不是,应该使用 mouseenter 和 mouseleave 这两个事件来代替,(这也是 .hover() 函数中使用的事件) 所以完全可以直接像这样来引用:

$(document).ready(function(){
 $('a').bind({
 mouseenter: function(e) {
 // Hover event handler
 alert("mouseover");
 },
 mouseleave: function(e) {
 // Hover event handler
 alert("mouseout");
 },
 click: function(e) {
 // Click event handler
 alert("click");
 }
 });
});

因为.hover()是jQuery自己定义的事件,是为了方便用户绑定调用mouseenter和mouseleave事件而已,它并非一个真正的事件,所以当然不能当做.bind()中的事件参数来调用。

二、如何取消hover事件

大家都知道,可以使用unbind函数去取消绑定的事件,但是只能取消通过bind绑定的事件,jquery中的hover事件是比较特殊的,如果通过这种方式去绑定的事件,则无法取消。

$("a").hover(function(){
 alert('mouseover');
}, function(){
 alert('mouseout');
})

取消绑定的hover事件的正确方式:

$('a').unbind('mouseenter').unbind('mouseleave');

三、总结

其实,这些问题可以去参看jquery官方的说明文档,只是很少有人去看过,网上的大多数教程只是讲解如何去使用这个方法,达到目的即止,并没有深入的了解为什么这么写?如果你有什么疑惑,欢迎评论留言。

文档

jQuery中如何绑定和取消hover事件(附代码)

jQuery中如何绑定和取消hover事件(附代码):这篇文章主要讲了如何使用bind去绑定hover方法,以及如何用unbind取消绑定的事件,具有一定的参考价值,有需要小伙伴可以看看。在网页设计中,我们经常使用jquery去响应鼠标的hover事件,和mouseover和mouseout事件有相同的效果,但是这其中其中如何使用bi
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top