我的一个元素上有一个mouseenter
事件。问题是,我无法在dom完全加载之前添加事件,因此我使用类似的东西:
document.observe('dom:loaded', function() {
${"my_element").observe("mouseenter", function() { ... }
});
现在,用户可能会在页面完全加载之前将鼠标悬停在元素上,因此事件不会触发。他们必须移动鼠标才能开火。如何在页面完全加载后检测是否应该触发事件,这样用户就不必移动鼠标了?
答案 0 :(得分:0)
$(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删除规则。