0

我在 div 中有一个 textarea。我希望能够点击覆盖。但是会发生什么是 textarea 捕获点击以及 div。

<div id="d" name="d"><textarea id="ta" name="ta">my text</textarea></div>

<script type="text/javascript">
$('#d').click(function(){alert("clicked on div");)};
$('#ta').click(function(){alert("clicked on textarea");)};
</script>

我只想触发 div 警报,而不是 textarea。

4

1 回答 1

2

首先排列末尾括号的顺序以防止javascript错误:

$('#d').click(function(){alert("clicked on div");});
$('#ta').click(function(){alert("clicked on textarea");});

然后我收到两个警报,请参阅此示例

=== 更新 ===

事件从上层 dom 元素冒泡到最低层(如果您不阻止冒泡)。所以你可以在 之后停止冒泡事件textarea,但你不能阻止它进入div而不是textarea. 您必须更改 html 元素 (divtextarea) 的顺序,然后return false;在单击处理程序的末尾添加 adiv或添加event.stopPropagation();. 另请参阅我更新的示例或我的下一个示例

于 2012-04-19T05:24:39.150 回答