加载页面后检查mouseenter

时间:2012-02-09 20:42:20

标签: javascript

我的一个元素上有一个mouseenter事件。问题是,我无法在dom完全加载之前添加事件,因此我使用类似的东西:

document.observe('dom:loaded', function() {
    ${"my_element").observe("mouseenter", function() { ... }
});

现在,用户可能会在页面完全加载之前将鼠标悬停在元素上,因此事件不会触发。他们必须移动鼠标才能开火。如何在页面完全加载后检测是否应该触发事件,这样用户就不必移动鼠标了?

3 个答案:

答案 0 :(得分:0)

当dom准备好时,$(document).ready(function(){$(function(){会触发,使用on将一个或多个事件的事件处理函数附加到所选元素:

$(function(){
    ${"my_element").on("mouseenter", function() { ... }
});

答案 1 :(得分:0)

这不会直接回答您的问题,但livequery可能会对您有所帮助。我认为它会立即附加事件处理程序,但它可能会等到DOM加载完毕,在这种情况下它对你没用。

答案 2 :(得分:0)

根据您正在应用的效果,您可以使用CSS规则进行模拟吗?

这样的东西
#my_element:hover { color: red }

然后在jQuery中,使用mouseenter方法,jQuery.Rule删除规则。