【发布时间】:2015-07-20 23:41:15
【问题描述】:
我有一个带有元素的网页,当鼠标悬停在元素上时,文本会出现在元素内。 我想生成“鼠标悬停”/“mouseenter”来显示文本,即使鼠标实际上没有悬停在元素上。 代码举例:
HTML
<div>
<span id="hover_to_show_text">Hover here to show hidden text</span>
<span id="hidden_text" style="display:none">Hidden text</span>
</div>
JS
$( "#hover_to_show_text" ).mouseenter(function() {
$( #hidden_text ).show();
});
$( "#hover_to_show_text" ).mouseleave(function() {
$( #hidden_text ).hide();
});
我想在 jQuery 中生成触发 "$( "#hover_to_show_text" ).mouseenter(function() {" 的 "mouseenter",然后让 "mouseenter" 在那里停留 N 秒。
我尝试过(分别):
$("#hover_to_show_text").hover();
$("#hover_to_show_text").trigger('mouseover');
$("#hover_to_show_text").trigger('mouseenter');
没用。有没有办法做到这一点?
谢谢。
【问题讨论】:
-
不确定我是否完全理解您的问题。但是在将您的代码放入 jsfiddle 之后,它似乎成功触发了 mouseover 和 mouseenter jsfiddle.net/p694huuk
-
我不认为你做得对你的代码运行良好......你确定你的项目中有 jquery
-
您在上面的代码中有拼写错误。
$("#hover_to_show_text").trigger("mouseenter");应该可以工作。 -
@epascarello 它不起作用。例如,当您将鼠标悬停在菜单中的“用户”上时,堆栈溢出将是橙色背景。但是,如果您将运行“$("#nav-users").trigger("mouseenter");"什么都不会发生。
-
因为“用户”使用 CSS psudeo :hover 这不是 JavaScript 事件。你不会触发它。
标签: javascript jquery css mouseenter mouseleave