Javascript jQuery.on()悬停不适用于HTML5选择框
我试图在鼠标悬停在选择框上时捕获事件,无论是折叠还是展开。我以以下方式使用.on()Javascript jQuery.on()悬停不适用于HTML5选择框,javascript,jquery,html,Javascript,Jquery,Html,我试图在鼠标悬停在选择框上时捕获事件,无论是折叠还是展开。我以以下方式使用.on() $(document).on('hover', "select#selectBox", function() { alert("done"); }); 请注意,我在DOM文档ready中也使用了这个片段 我也尝试过将事件更改为单击、滚动、鼠标悬停、鼠标悬停等。 似乎对那些人也不起作用 请指出我错在哪里 我做了一个JSFIDLE: 编辑:感谢大家的快速回复! 我已经纠正了我的错误:) 我已经稍微调整
$(document).on('hover', "select#selectBox", function() {
alert("done");
});
请注意,我在DOM文档ready中也使用了这个片段
我也尝试过将事件更改为单击、滚动、鼠标悬停、鼠标悬停等。
似乎对那些人也不起作用
请指出我错在哪里
我做了一个JSFIDLE:
编辑:感谢大家的快速回复!
我已经纠正了我的错误:)
我已经稍微调整了JSFIDLE。现在,我正在尝试滚动选择框,其大小小于选项数,并已将“悬停”事件更改为“滚动”事件。它似乎不是那样工作的
我正在使用jQuery 2.1.3
JSFiddle here:您应该使用mouseenter事件 并将jquery包括在您的小提琴中:)
再看看这个(所以问题)[您应该使用mouseenter事件 并将jquery包括在您的小提琴中:) 再看看这个(所以问题)[ 以上述方式使用hover函数。更重要的是,您也错过了jQuery库 由于JQuery1.8中的
(“hover”)
被弃用,因此它在更高版本的jQuery上不起作用
以上述方式使用hover函数。更重要的是,您也错过了jQuery库
“悬停”状态下的
on
是不推荐使用的jQuery 1.8格式,它在更高版本的jQuery上不起作用。您不需要将绑定到文档的事件包装到ready伪事件中的级别。而且,由于您希望委托事件,可能是为了删除动态元素,正确的方法是绑定mouseenter和mouseleave
以这种方式进行活动:
最终在处理程序内部按事件类型筛选(in/out)
您不需要将绑定到document
级别的事件包装到ready pseudo event中。由于您希望将事件委托给hanlde动态元素,正确的方法是以以下方式绑定mouseenter和mouseleave
事件:
最终在处理程序内部按事件类型筛选(in/out)
使用mouseover
。当你包含jQuery时,你的提琴可以工作…它说$没有定义
,这仅仅意味着jQuery没有正确加载,如果你包含它,一切都正常。请查看最新的提琴用法mouseover
。当你包含jQuery时,你的提琴可以工作…它说$没有定义
,它是mply意味着jquery没有正确加载,如果包含它,一切正常。请查看最新的fiddle,它不是100%正确的,因为hover()
event在v1.8.3中有效,它是从v1.9或更高版本中弃用的。您可以在官方文档中查看它:@fbid,阅读这里的真实来源,它说jQuery 1.8中弃用了,在1.9中删除了,我使用了弃用这个词:)但是您没有在这里委派事件是的,它是从v1.8中弃用的,但您写道它将不起作用比1.8更高的版本,这不是100%正确,无论如何,这只是为了澄清是的..谢谢你的信息。:)这不是100%正确,因为hover()
event在v1.8.3中有效,它是从v1.9或更高版本中弃用的。您可以在官方文档中查看它:@fbid,阅读这里的真实来源,它说jQuery 1.8中弃用了,在1.9中删除了,我使用了弃用这个词:)但是您没有在这里委派事件是的,它是从v1.8中弃用的,但您写道它将不起作用高于1.8的版本,这不是100%正确,无论如何,这只是为了澄清…谢谢你提供的信息。:)Scroll事件不冒泡,这是委派它所必需的。请参阅变通方法感谢有关Scroll事件不冒泡的重要信息。Scroll事件不冒泡,这是委派它所必需的。请参阅变通方法谢谢对于滚动事件不冒泡的重要信息。
$("select#selectBox").hover(function() {
alert("working");
});
$(document).on('mouseenter mouseleave', "#selectBox", function(e) {
alert("done: " + e.type);
});