jquery hover 仅适用于点击事件?
Posted
技术标签:
【中文标题】jquery hover 仅适用于点击事件?【英文标题】:jquery hover only works on click event? 【发布时间】:2013-06-24 01:22:43 【问题描述】:我在 jquery 1.10.1 上运行了这个小 jquery 代码,我想做的基本上是 控制台登录悬停事件在 li 类 dash_item 上悬停,但它仅在我单击项目时有效,而不是在悬停时有效
代码:
$(document).ready(function()
$('.dash_item').on(
mouseenter: function()
console.log("im here");
,
mouseleave: function()
console.log("im out");
);
);
jsfiddle 在这里http://jsfiddle.net/JQAw3/
【问题讨论】:
它适用于我的悬停,使用 Chrome,你使用什么浏览器? 我也在使用 chrome,但是我刚刚在 mozilla 上尝试过,它可以工作,这很奇怪 它在 Firefox 上对我有用 您的计算机中有 gremlins,仅作解释。 【参考方案1】:似乎是当您长时间打开网站(包括开发工具)时可能发生的 Google Chrome 错误。
我遇到了同样的问题,尽我所能。
最后,一个简单的浏览器重启帮助了。
如果您只是在另一个选项卡中打开网站,也许就足够了。
编辑 2015-06-15: 每次我在 Chrome 中处理 mouseenter
和 mouseleave
时都会遇到这个问题。对我来说,只需关闭标签页并在另一个标签页中打开网站就足够了。
【讨论】:
它似乎不足以在另一个标签中打开。我不得不杀死浏览器。谢谢! 确认重启成功。浪费了一个小时,但你可能救了我一天! 我很遗憾地报告,截至本文发布之时,这仍然是一个问题。谢谢,您为我节省了大量时间! +1000。一年后,我偶然发现了同样的错误(在 Ubuntu 上使用 Chromium)!我浪费了几个小时试图解决这个问题,因为它在一些代码更改后停止工作,我认为问题来自我的代码!!!!我关闭了选项卡并在新选项卡中再次打开该页面,我的代码再次运行。我几乎从不重启 Chromium,所以我欠你很多调试时间! 我注意到只有在 Chrome 响应视图处于活动状态时才会发生这种情况。Command + Shift + M
将停用并且悬停再次起作用。【参考方案2】:
不,它没有 - 与 mouseenter 悬停相同的问题
我已经打开了一段时间的开发者工具
在Firefox中打开页面,它工作了
【讨论】:
【参考方案3】:你可以试试 jQuery hover() 函数。它需要一个 handlerIn 和 handlerOut。
【讨论】:
.hover() 方法绑定了 mouseenter 和 mouseleave 事件的处理程序。您可以使用它在鼠标位于元素内时简单地将行为应用于元素。换句话说,没有区别。 我知道,但添加 imo 更简单。 @CWitty 那么它应该是评论,而不是答案:) 抱歉,*** 的新手。【参考方案4】:悬停效果很好
http://jsfiddle.net/blackjim/JQAw3/4/
$('.dash_item').hover(
function ()
console.log("im here");
,
function ()
console.log("im out");
);
【讨论】:
与 CWitty 的回答一样,hover 只是 mouseenter 和 mouseleave 的简写。 是的,我同意,但它的代码更少。因为他想在这里处理这两种情况。【参考方案5】:把这个留在这里,以防其他人偶然发现这个。在 2015 年初,这仍然是 chrome/chromium 中的“功能”,如果页面被视为文件(不从网络服务器提供),则鼠标位置事件(如 mouseenter
、mouseleave
、mouseover
等)会执行不火。不知道这是否是 OP 的问题,但当我偶然发现时是我的问题。
【讨论】:
以上是关于jquery hover 仅适用于点击事件?的主要内容,如果未能解决你的问题,请参考以下文章