我想在页面上禁用所有的点击事件,但仍有一些事件被调用。假设我的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”事件,如果是这样,如何防止它?如果不是,那么解决方案可能是什么? JS Fiddle
$('#parent a')....
- Think Differenta
向上传播到父级。因此,与a
相关的事件将首先触发。 - BenG