我尝试使用jQuery。在我尝试的时候,我发现我不能在.bind中使用悬停事件。我不知道出了什么问题。
$(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
}
});
});
令人惊讶的是(至少对我而言)是悬停不起作用。其他人“点击”和“模糊”工作正常。
以下工作也没有任何问题。
$(".some-class").hover(function(){
// stuff
})
也许我可以使用上面的代码。但不知道为什么会是一个很大的麻烦。那么任何想法?
谢谢!
答案 0 :(得分:38)
在绑定对象时,您需要直接使用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
}
});
});
jQuery事件代码中的 .hover()
is defined specially here ...它不像.bind()
之类的其他事件一样受支持,因为它不是一个事件,它只是一个函数帮助您绑定mouseenter
和mouseleave
事件。
答案 1 :(得分:3)
没有多大原因,但根本不在规范中。检查文档 - 悬停未列在可绑定事件中。