不能使用.bind()来绑定hover
我试验了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不起作用。 其他“点击”和“模糊”工作正常。
以下工作也没有任何问题。
$(".some-class").hover(function(){ // stuff })
也许我可以使用上面的代码。 但不知道为什么会是一个很大的麻烦。 那么任何想法?
谢谢!
在绑定对象时,您需要直接使用.hover()
和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事件代码中特别定义 …它不像.bind()
类的其他事件一样受支持,因为它不是一个事件,它只是一个帮助你绑定mouseenter
和mouseleave
事件。
没有多少原因,但它根本不在规范中。 检查doc-hover未列在可绑定事件中。