[英]Can I remove inline event handlers using jQuery?
試試.removeAttr()
函數:
$(function() {
$('a').removeAttr('onclick');
});
一旦你擺脫了onclick
屬性,你可以附加你自己的點擊處理程序。
$("#theElement")[0].onclick = function() {
whatever();
};
// -- or --
$("#theElement")[0].onclick = null;
並不是說jQuery會使標准的DOM函數和屬性消失。 ;-)
在http://api.jquery.com/prop/中引用。使用.removeAttr()刪除內聯onclick事件處理程序無法在Internet Explorer 8,9和11中實現所需的效果。為避免潛在問題,請使用.prop ()代替。
所以這可以做到
$(function() {
$('a').prop('onclick', false);
});
有一個插件,但你應該只在你需要的時候這樣做。 該插件為您提供了調用舊函數或完全忽略它的選項。
$(divElementObj).override('onclick', 'click', function(...));
試過給定的選項,但部分工作,因為他們刪除了一個但不是全部。
相反,我嘗試使用鏈接作為解決方法。 我使用的是1.4.2版本。
jQuery("selector")
.removeAttr("onclick").removeAttr("onmouseout").removeAttr("onmouseover");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.