我想禁用页面上的所有单击事件,但是某些事件仍在被调用,假设我有如下所示的html
<div id='parent'>
<table>
<tr>
<td><input type = 'text'/></td>
<td><select><option>A</option><option>B</option></select></td>
<td><a href='#' onclick="alert('Called')">Click </a></td>
</tr>
<tr>
<td>dscsdcd</td>
<td>dscsdcd</td>
<td>dscdscdsc</td>
</tr>
<tr>
<td>sdcdsc</td>
<td>dssdcdsc</td>
<td><input type='submit' value='Button'/></td>
</tr>
</table>
</div>
和脚本如下
$('#parent').click( function(e)
{
e.stopPropagation();
e.preventDefault();
e.stopImmediatePropagation();
return false;
});
当我单击锚标记时,它会警告Called
不应触发的标记,因为我正在为其父节点禁用事件。看起来锚标记是最重要的onclick
,如果是那么该如何防止呢?如果没有,那么解决方案是什么?
onclick
属性在此处具有较高的优先级。您可以循环<a>
元素并取消设置此属性:
$('#parent a').each(function () {
$(this).attr('onclick', '');
}).click(function () {
// ...
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句