2012-04-19 124 views
0

我有一個div內的textarea。 我希望能夠點擊覆蓋。 但是,textarea會捕獲點擊以及div。div覆蓋textarea捕捉鼠標點擊

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

回答

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),然後在div點擊處理程序的末尾添加return false;或添加event.stopPropagation();。另請參閱我的updated example或我的next example

+0

謝謝,但我不清楚,更新了我的問題 – airnet 2012-04-19 05:44:23

+0

查看我更新的答案。 – scessor 2012-04-19 05:50:52