2015-12-15 53 views
0

在頁面加載時,包含.btn類的所有元素都綁定到jQuery單擊事件。有沒有解除使用類.btn的單個元素的方法。我試圖在onclick事件添加到return false一個錨定標記這樣從元素中取消綁定jQuery單擊事件

<a href="index.html" class="btn" onclick="return false;" target="_blank">Link</a>

,但它似乎並沒有覆蓋或阻止其執行由jQuery

編輯結合的Click事件
感謝您的所有答案,但有沒有內聯的解決方案呢?類似於onclick="event.preventDefault();"

也跟着提問:只好奇,其中onclickjQuery事件監聽器先被調用?

+0

雖然你可以改變onclick事件你爲什麼不只是刪除href或改爲href =「#」 –

+1

@ Mohamed-Yousef我需要這個鏈接,因此'index.html' – JohnnyQ

回答

1

您可以使用jQuery .not縮小選擇與特定的按鈕,你需要給這個按鈕一個唯一的ID:

<a href="index.html" class="btn" id="prevent" target="_blank">Link</a> 
<a href="index.html" class="btn" target="_blank">Link</a> 

$(".btn").not("#prevent").click(function(){ 

}); 
+0

我已經這樣做了,但我是尋找內聯解決方案。這是我的最後一招。謝謝! – JohnnyQ

3

使用unbind()的jQuery方法。

<a href="index.html" onclick="return false;" target="_blank" id="xyz">Link</a>  

$(document).ready(function(){ 
    $("#xyz").unbind("click"); 
}); 
+0

有點解釋不會傷害 – guradio

0

如果你喜歡這個通過委託添加事件點擊:

$(document).on('click', '.btn', function(e){}); 

你必須從自己的.btn

$('.myOwnBtn').on('click', function(e) { 
    e.preventDefault(); 
}); 

停止事件傳播你如何添加事件點擊你的.btn? 如果通過單擊添加事件,你可以關閉它

$('.myOwnBtn').off('click'); 

Onclick屬性click事件之前,jQuery的執行,並且是從jQuery的單擊事件完全獨立的。

+0

謝謝!那麼這是否意味着你放在'onclick'上的所有東西都被'jQuery'覆蓋了?還有哪些首先被調用? 'onclick'或'jQuery'點擊事件? – JohnnyQ

+0

屬性onclick首先被執行,但它與事件處理程序系統無關。 –