繁体   English   中英

jQuery .on()悬停不适用于HTML5选择框

[英]jQuery .on() hover not working for HTML5 select box

我试图捕获鼠标悬停在选择框上的事件,无论它是折叠还是展开。 我以以下方式使用.on(),

$(document).on('hover', "select#selectBox", function() {
    alert("done");
  });

请注意,我也在DOM文档中使用此代码段。

我也尝试将事件更改为单击,滚动,鼠标悬停,mouseenter等。 似乎也不适合那些。

请指出我要去哪里了。

我做了一个JSFiddle: https ://jsfiddle.net/g9vf1mty/2/

编辑 :感谢大家的快速回复! 我已经纠正了我的错误:)

我对JSFiddle进行了一些调整。 现在,我正在尝试滚动选择框,使其尺寸小于选项的数量,并将“悬停”事件更改为“滚动”事件。 它似乎不是那样工作的。

我正在使用jQuery 2.1.3

此处的JSFiddle: https ://jsfiddle.net/g9vf1mty/8/

$("select#selectBox").hover(function() {
 alert("working");
});

以上述方式使用悬停功能。 更重要的是,您也错过了jQuery库。

由于on("hover") 已从jQuery 1.8弃用 ,因此无法在更高版本的jquery上使用。

您无需将绑定到document级别的事件包装在ready伪事件中。 并且因为您想委托事件,也许想处理动态元素,所以正确的方法是通过以下方式绑定mouseenter & mouseleave事件:

最终按处理程序内的事件类型过滤(输入/输出)

$(document).on('mouseenter mouseleave', "#selectBox", function(e) {
  alert("done: " + e.type);
});

您应该使用mouseenter事件

并在小提琴中包含jQuery :)

还要看这个(SO问题)[ 是否可以使用jQuery .on并悬停?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM