2013-02-19 49 views
0

代碼示例:jQuery的懸停事件不觸發如下

(function (window, document) { 
$('.rating_title_container').parents('.item_row_def').hover(function() { 
      setTimeout(function() { 
       system.console('Worked'); 
      }, 1000); 
     }); 
})(window, document); 

我是相當新的JS,jQuery的。任何人都可以解釋我在這裏失蹤了嗎?在 發佈代碼http://jsfiddle.net/p7gBy/5/

HTML

<table> 
    <thead> 
     <tr> 
     <th class="item_row_def" onclick="sort(3);"> 
      <table class="col-header"> 
      <tbody> 
       <tr> 
       <td> 
        <h2 class="header_title rating_title_container">Rating</h2> 
       </td> 
       </tr> 
      </tbody> 
      </table> 
     </th> 
     </tr> 
    </thead> 
    </table> 
+1

此代碼運行時,馬上你叫吧,如果是在頭文件的剩餘部分還沒有準備好,所以也找不到任何元素 – dmi3y 2013-02-19 04:31:27

+0

你可以把它放在一個小提琴? – arjuncc 2013-02-19 04:31:52

+0

你可以發佈你的HTML嗎? – 2013-02-19 04:32:01

回答

0
它假設調用代碼,當文檔準備好

嘗試以下:

jQuery(function (window, document) { 
$('.rating_title_container').parents('.item_row_def').hover(function() { 
     setTimeout(function() { 
      system.console('Worked'); 
     }, 1000); 
    }); 
}); 

,同時您已經超出});末,其拋出錯誤

0

你需要在你的事件處理程序中綁定一個文檔,就像這樣(替換代碼上面這個問題,看看):

$(document).ready(function(){ 
    $('.rating_title_container').parents('.item_row_def').hover(function() { 
     setTimeout(function() { 
      system.console('Worked'); 
     }, 1000); 
    }); 
}); 
0

試試這個代碼:

(function (window, document) { 
$('.rating_title_container').parents('.item_row_def').hover(function() { 
      setTimeout(function() { 
       alert('Worked'); 
      }, 1000); 
     }); 

})(window, document); 

檢查小提琴http://jsfiddle.net/AXepU/

0

你必須附上該功能doc ready然後一切都會很好地工作:

$(function(){ // <----------------------------try enclosing within this from here 
    (function (window, document) { 
     $('.rating_title_container').parents('.item_row_def').hover(function() { 
     setTimeout(function() { 
      alert('Worked'); 
     }, 1000); 
     }); 
    })(window, document); 
}); //<---------------------------------------- to here. 

大部分事件應寫在document ready手柄內河

這樣的:

$(document).ready(function() { 
    // Handler for .ready() called. 
}); 

這:

$(function() { 
    // Handler for .ready() called. 
}); 

相同。第二個是doc ready處理程序的簡短版本。

Read More about .ready()處理

+0

任何想法,爲什麼這是行不通的? http://jsfiddle.net/p7gBy/5/ – vasa 2013-02-19 05:35:45

+0

同樣的事情,你可以'從左上方面板中選擇jQuery或'用doc-ready'在dom中放置一個引用。 – Jai 2013-02-19 05:40:08

+0

檢查:http:// jsfiddle.net/p7gBy/7/找到側邊欄的左上角,你必須選擇'ready function'和'framework'。 – Jai 2013-02-19 05:41:31

相關問題