在textarea上重叠div以捕获鼠标点击

时间:2012-04-19 05:16:44

标签: jquery

我在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。

1 个答案:

答案 0 :(得分:2)

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

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

然后我收到两个提醒,请参阅this example

=== UPDATE ===

事件从上dom元素向下到最低(如果不防止冒泡)。因此,您可以在textarea之后停止冒泡活动,但是您无法阻止在div而不是textarea中获取该活动。您必须更改html元素的顺序(divtextarea),然后在return false;点击处理程序的末尾添加div或添加{{1 }}。另请参阅我的updated example或我的next example