2015-04-01 138 views
0

我的下一個選擇 「#BTN-相似」,爲什麼這個監聽器的工作原理:事件監聽器不工作

$("#btn-similar").click(function(e){ 
    console.log("similar click"); 
}); 

但這不聽者:

$(document).on("click", "#btn-similar", function(e){ 
    console.log("similar click"); 
}); 

的HTML標記是:

<div id="btn-similar" class="details-tab active-nav"> 
    <span class="angle"></span> 
    <div class="title">Overview</div> 
</div> 

我使用jQuery 1.10,有什麼想法嗎?

+0

如果你使用jquery的版本低於1.7不工作?去.live() – 2015-04-01 14:52:22

回答

0

由於代碼兩件是正確的,在大多數情況下會工作,我只能想到這些原因,第二個是行不通的:

  1. 有一個<a>標籤,或在表單POST層次結構導致瀏覽器在看到代碼結果之前轉到新頁面。

  2. 你必須在頁面多個對象與id=btn-similar

  3. 有你的,保持它執行代碼的第二塊前右腳本錯誤。

  4. 你有地方一個錯字和代碼實際上並不匹配所需的ID。在你的問題中,你展示的代碼是指id=btn-similar,但代碼是id=btn-overview

僅供參考,你可以看到代碼工作的第二塊在這裏就好了:http://jsfiddle.net/jfriend00/8s7rukt3/所以顯然在你的頁面有些怪異,你都沒有透露。

+0

@ramiromd - 你找出問題了嗎? – jfriend00 2015-04-01 17:11:30