jQuery将函数绑定到父div而不是子锚,反之亦然

时间:2011-03-28 07:59:14

标签: javascript jquery

我有一个div,里面有一些锚链接:

<div id="myDiv">
+----------------------------+
|                            |
|  <a class="myAnc">...</a>  |
|  <a class="myAnc">...</a>  |
|                            |
+----------------------------+

我想将点击事件绑定到调用#myDivmyFunction1()标记为.myAnc的{​​{1}}。使用jQuery的myFunction2(),无论您点击什么(div或锚点),都会调用bindmyFunction1

如何确保他们调用两个独立的函数(只有那些函数)?

4 个答案:

答案 0 :(得分:3)

myFunction2(ev)来电:

ev.stopPropagation();

答案 1 :(得分:2)

试试这个:

$("a.myAnc").click(function(e) {
   e.stopPropagation(); // prevent DOM event bubbling which will trigger the click of the parent div
});

$("#myDiv").click(function() {
});

答案 2 :(得分:0)

$('#myDiv, a.myAnc').click(function(event) {
   event.stopPropagation(); // Prevent bubbling to #myDiv

   alert('you click  ' + $(this));
});

答案 3 :(得分:0)

尝试

$(".myAnc").bind("click",
                         function()
                         {
                             myFunction2();
                             return false;
                         }
                        );

    }

工作演示@ http://jsfiddle.net/NeLsE/