2012-02-09 89 views
0

我的一個元素有一個mouseenter事件。麻煩的是,我不能添加事件,直到DOM是滿載的,所以我使用類似:在頁面加載後檢查mouseenter

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

現在,用戶可能將鼠標懸停在元素之前的頁面完全加載,所以該事件不會觸發。他們必須移動鼠標才能觸發它。如何在頁面完全加載後檢測是否應該觸發事件,以便用戶不必移動鼠標?

+0

這實際上與'jQuery'有關嗎?你提供的代碼看起來更像['PrototypeJS'](http://stackoverflow.com/tags/prototypejs/)。 – 2012-02-09 21:14:58

+0

你是對的。編輯。 – 2012-02-09 21:57:06

回答

0

$(document).ready(function(){$(function(){火當DOM準備好了,用on附加一個事件處理函數的一個或多個事件來選擇的要素:

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

我不知道這與我所做的有何不同。我認爲經理人仍然不會開火。 – 2012-02-09 20:51:11

0

這並不直接回答你的問題,但livequery可能會幫助你。我認爲它立即附加事件處理程序,但它可能會等到DOM被加載,在這種情況下,它不會幫助你。

0

根據你應用的效果,你可以使用CSS規則來模擬它嗎?

喜歡的東西

#my_element:hover { color: red } 

然後在jQuery的,在你的mouseenter方法,jQuery.Rule刪除的規則。