我想在预览中禁止点击链接,而是显示一条错误消息。我想到了一个简单的解决方案:
<div id="preview">
<p>There is a <a href="http://google.com">sample</a> link that should not follow to <a href="http://google.com">google.com</a></p>
<ul></ul>
</div>
<button id="btn">Add a new link</button>
JavaScript 代码:
$('a').on('click', function () {
alert("links are disabled");
return false;
});
$('#btn').on('click', function () {
$('#preview ul').append('<li><p><a href="http://google.com">another link</a></p></li>');
});
它对已经存在的链接非常有效,但对通过按钮添加的新链接无效。
如何在添加新链接后禁用链接?
我想在添加新链接的代码中保留禁用链接的逻辑(因为有多个地方正在添加新链接)
JS fiddle :http://jsfiddle.net/bseQQ/
最佳答案
要捕获动态元素上的事件,您需要使用委托(delegate)选择器:
$('#preview').on('click', 'a', function () {
alert("links are disabled");
return false;
});
这是因为事件是在加载时附加的,显然此时动态元素不存在。委托(delegate)事件附加到父元素,但仅在过滤选择器通过 DOM 冒泡事件时触发。
关于javascript - 如何在添加新链接后禁用链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19378573/