我正在jQuery中製作一個腳本,並且我有許多點擊鏈接點擊事件。事情是,我不希望我點擊事件的鏈接做除事件以外的任何事情,所以我在所有點擊事件的開始處放置了e.preventDefault();
。但是我有很多點擊事件,那麼有沒有更簡單的方法來將e.preventDefault();
添加到所有鏈接點擊事件?請記住我也有一些我想要的鏈接,因爲他們應該這樣做,所以將e.preventDefault();
添加到所有鏈接將不起作用,我只想將它添加到點擊事件的鏈接中。jQuery - 添加e.preventDefault()到所有鏈接點擊事件?
3
A
回答
3
在任何綁定代碼運行之前,您可以嘗試重寫綁定方法或單擊方法。在這裏,我用相當難以理解的方式覆蓋了點擊方法。我真的建議只在需要的時候調用preventDefault。
(function(){
var original = jQuery.fn.click;
jQuery.fn.click = function(){
// wrap your function in another function
var f = arguments[0];
arguments[0] = function(e) {
e.preventDefault();
f(e);
}
original.apply(this, arguments);
}
})();
5
你可以使用jQuery命名空間的事件
http://docs.jquery.com/Namespaced_Events
HTH
,你可以爲你想添加一個click事件,但阻止默認行爲的鏈接做這樣的事
$('a.someClass').bind('click.dontClick',function(e){
e.preventDefault();
});
和您想要的正常點擊行爲的鏈接
$('a.clickClass').bind('click.doClick',function(e){
//your event handling code here
});
+0
是的,但那樣我需要給每個鏈接添加一個類,而且我也不想那樣...我想要e.preventDefault();在每個鏈接點擊事件開始時自動添加。 – Cokegod 2011-04-10 19:08:48
0
This SO answer細節如何檢測一個元素上的事件,但它看起來像提問者把選擇根據自己的事件監聽器元素的答案,built a jQuery plugin。
所以,你可以使用該插件,然後使用一些事件委託像這樣:
$(document).delegate('a:Event(click)', 'click', function (e) { e.preventDefault(); });
警告:我從來沒有用過這個插件自己,我真的不熟悉jQuery的自定義CSS濾鏡,所以這可能不實際工作。完全一樣。
0
我想借此@ 3nigma的回答遠一點。通常,您不希望執行默認操作的鏈接類似<a href="#">
因此,請過濾掉這些鏈接,以免頁面在點擊時跳轉。我使用jQuerys filter()函數。不知道這是否是最好的。你怎麼看?
$('a').filter(function(i) {
return $(this).attr("href") === "#";
})
.bind('click.dontClick',function(e){
e.preventDefault();
})
相關問題
- 1. 在循環內添加jQuery點擊事件「自動」點擊所有事件
- 2. jQuery的Click事件添加到現有的點擊事件
- 3. 動態添加具有不同點擊事件的鏈接
- 4. 添加超鏈接並點擊事件到Dojo網格
- 5. 試圖添加鏈接到事件點擊js - Simplecart
- 6. 使用JSON將點擊事件添加到Galleria鏈接
- 7. 將點擊事件綁定到jQuery附加鏈接
- 8. jQuery的目標鏈接點擊事件
- 9. 鏈接和jQuery點擊事件功能
- 10. Jquery點擊事件的具體鏈接
- 11. 將點擊事件添加到所有具有ID的li - 使用jquery
- 12. 添加可點擊鏈接到XpsDocument
- 13. Laravel點擊鏈接添加到網址
- 14. 將事件添加到ID以「user」開頭的所有鏈接?
- 15. 禁用點擊事件的除了鏈接內的所有鏈接
- 16. JQuery添加點擊事件到現有的代碼
- 17. 爲UpdatePanel添加jquery點擊事件
- 18. jQuery添加多個點擊事件
- 19. 鏈接沒有點擊jquery
- 20. Jquery v1.6.4問題附加點擊事件與所有錨點
- 21. 使用Extjs添加點擊事件超鏈接
- 22. 爲什麼ajax加載的鏈接不能點擊jQuery點擊事件?
- 23. 點擊鏈接添加文本框
- 24. 添加keydown點擊事件
- 25. 添加內嵌點擊事件後發生的點擊事件?
- 26. 有一個jQuery啓動蒸汽點擊添加異步鏈接
- 27. jquery的鏈接點擊添加1到變量
- 28. 將可點擊的圖像鏈接添加到jQuery代碼
- 29. jQuery:添加html塊到最近點擊鏈接
- 30. jquery提到輸入:點擊鏈接添加標籤
有沒有什麼辦法來定義,通過一個類名或如此,集團要保持其正常功能'了'元素? – 2011-04-10 18:17:20