使用 jquery 捕获事件



>我有一个双重事件要管理。这两个事件都是"点击",它们由jquery处理。html如下:

 <div class="siteMap"  style="width:23%;">
            <h5>Divisione Anticontraffazione</h5>
            <span class="menufooter">
            <span class="link1"><a href="#scheda1">Introduzione</a></span><br>
            <span class="link2"><a href="#scheda2">Filosofia</a></span><br>
            <span class="link3"><a href="#scheda3">Negozio online</a></span></span><br>
        </div>

然后我有我的点击事件,它在菜单页脚跨度内和每个链接跨度内触发。代码是这样的:

$(document).ready(function() {
    $('span.menufooter').click(function() { 
        //my code here
    });
    $("span.link1").click(function() {
       //my code here
    });
});

我需要一个事件捕获操作,在单击span link1触发之前,单击span菜单页脚必须触发事件。此时,这两个事件都没有触发。有什么提示吗?

只在.menufooter上发生火灾事件怎么样

$(document).ready(function() {
    $('span.menufooter').click(function(e) { 
        //my code here 1
        // Capture Event Propagation
        if ( $("span .link1").find(e.target).length>0 ){
           //my code here 2
        };
    });
});

http://jsfiddle.net/9QLtG/

您可以阻止单击冒泡,然后触发对父元素的单击,以便该处理程序中的任何内容首先执行(除非它是异步的)

$(document).ready(function () {
    $('.menufooter').click(function () {
        // fires before ....
    });
    $("span.link1").click(function (e) {
        e.stopPropagation();
        $('.menufooter').trigger('click');
        // .... this fires, as it's triggered above
    });
});

小提琴

我会有 1 次单击侦听器来侦听包装器。您可以检查事件的目标,以查看他们是否实际单击了链接并相应地运行代码。

例如:

$(document).ready(function() {
    $('.container').click(function(e) {
        // Perform action when they clicked in the main wrapper,
        // regardless of whether or not it was a link.
        console.log("I clicked in the wrapper...");
        if ($(e.target).hasClass('link')) {
           // Perform action if they clicked on a link.   
           console.log("...but more specifically, on a link.");
        }
    });
});

这里有一个小提琴来证明这一点:http://jsfiddle.net/WaYFr/

试试这个event.stopPropagation();

 $("span.link1").click(function(event) {
     event.stopPropagation();
       ...
 });

相关内容

  • 没有找到相关文章

最新更新