我有一个页面,其中一些 onclick
代码被添加到 append 元素中,我想防止触发 onclick
代码。
这是我尝试过的:
$(function() {
$('.container').append('<div class="appended" onclick="alert(\'DONT DISPLAY\')">CLICK ME</div>');
// Prevent onclick
$(document).on('click', '.appended', function (e) {
e.preventDefault();
return false;
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container"></div>
不幸的是,这并没有阻止所需的onclick
行为
编辑应该提到这一点,但我无权访问将 onclick
事件添加到 HTML 的代码,但我愿意删除该事件属性(如果事后可以对 append 元素执行此操作)。
最佳答案
一种选择是使用 removeAttr()
删除 onclick
属性
$('.container').append('<div class="appended" onclick="alert(\'DONT DISPLAY\')">CLICK ME</div>');
$('.appended').removeAttr('onclick');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container"></div>
文档:removeAttr()
关于jquery - 阻止 append 元素的 onclick 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51027420/