jQuery-bind不能处理绑定hover事件

看这个例子: $(document).ready(function(){ $('.some-class').bind({ hover: function(e) { // Hover event handler alert("hover"); }, click: function(e) { // Click event handler alert("click"); }, blur: function(e) { // Blur event handler } }); }); 奇怪的事情发生了,这里的 “hover” 事件完全没有反应。 而...

看这个例子:

$(document).ready(function(){

$('.some-class').bind({

hover: function(e) {

// Hover event handler

alert("hover");

},

click: function(e) {

// Click event handler

alert("click");

},

blur: function(e) {

// Blur event handler

}

});

});

奇怪的事情发生了,这里的 “hover” 事件完全没有反应。 而像 “click” 和 “blur” 这两个都能正常调用。

同时,如下的代码也是正常运行的:

$(".some-class").hover(function(){

// stuff

})

为什么 bind 不能绑定 hover 呢?

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

$(document).ready(function(){

$('.some-class').bind({

mouseenter: function(e) {

// Hover event handler

alert("hover");

},

mouseleave: function(e) {

// Hover event handler

alert("hover");

},

click: function(e) {

// Click event handler

alert("click");

},

blur: function(e) {

// Blur event handler

}

});

});

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

转载请注明文章转载自:网站前端,web前端,前端脚本,前端优化|时代前端 [http://www.52shidai.com]
本文链接地址:jQuery-bind不能处理绑定hover事件

标签:, ,

已经有10 个评论,你也说点什么吧

  1. 超声波清洗机 说:

    不错,仔细看了,非常不错!

  2. 翰沃止鼾器 说:

    仔细看了,非常不错!

  3. 论文发表 说:

    讲的真好!

  4. 将夜 说:

    博主这篇文章写的很不错,观点很认同啊,以后会经常来看看。http://goo.gl/KIA8A

  5. 将夜 说:

    博主这篇文章写的很不错,观点很认同啊,以后会经常来看看。http://goo.gl/UGiQV

  6. 我的形象 说:

    学习了。、

  7. 31速记 说:

    楼主很用心,支持楼主,加油,希望看到跟我的讲解

  8. 泡澡 说:

    读书太少,看得不太懂

  9. 威特刚 说:

    这有点深奥了,我有点看不明白!

  10. 女性健康 说:

    有点不明白呢!!!!!!!!!!!

发表评论

*

* 绝不会泄露



Copyright © 网站前端,web前端,前端脚本,前端优化|时代前端 and WPYOU All Rights Reserved.

Powered by Wordpress and Theme by WPYOU