+ -
当前位置:首页 → 问答吧 → jquery 事件触发问题

jquery 事件触发问题

时间:2010-03-05

来源:互联网

<div>asd
    <div>qwe</div>
</div>

$('div').click(function(){
    var a = $(this).text();
    alert(a);
})

点击qwe那个DIV会弹出两次alert
我希望他只弹出qwe,
点外面一个DIV只alert qwe
点里面一个只alert asd
js要怎么修改,不能改HTML

作者: 115300111   发布时间: 2010-03-05

最好给每个div一个id.

作者: aeonmana   发布时间: 2010-03-05

为什么弹出2次呢?因为事件冒泡了啊,你点里面的div,外面的也会执行click方法的
对于你给的条件,可以这样
复制代码
  1. <script type="text/javascript">
  2.     //<![CDATA[
  3.         $(document).ready(function(){
  4.             $('div:last').click(function(){
  5.                 alert($(this).text());
  6.             });
  7.         });
  8.     //]]>
  9. </script>

作者: ywqbestever   发布时间: 2010-03-05

qwe所在的DIV被外面的DIV所包含。所以当你点了qwe的DIV时外面的也点了,就是所谓的冒泡事件。

就你这问题只要修改下选择器的代码就可以解决

$("div:last")

2楼的正解

作者: 花狐   发布时间: 2010-03-06