无法得到:not selector在我的jQuery中工作

时间:2012-08-07 05:26:38

标签: jquery html click live

我是HTML和jQuery的新手,需要一些帮助......

这是我的HTML:

<div class="conteiner">
    <div class="calendar" style=""> </div>
    <div class="status"></div>
    <div class="avatar read"></div>
    <div class="text">
        <div class="activity mytivits-act"></div>
        <div class="comments"></div>
        <div class="text-conteiner">
            <h3>test remind</h3>
            <span class="grey"></span>
            <span class="send-reminder">Remind</span>
       </div>
    </div>
</div>

我正在尝试在用户点击提醒链接时过滤掉以下.live函数中的点击(因为我有一个单独的函数来处理这种情况)

<span class="send-reminder">Remind</span>

使用下面的这个jQuery行,但它不起作用...任何想法如何修复它?

$('.text-conteiner:not(.send-reminder)').live('click', function(e){
    ...
}));

2 个答案:

答案 0 :(得分:0)

我认为你可以停止事件传播。 :not()在这里不起作用。

$('.text-conteiner').live('click', function(e){
    e.stopPropagation();
    // your code
});

<强> DEMO

例如,你也可以这样做:

$('.text-conteiner').live('click', function(e){
    alert('container');
});
$('.send-reminder').click(function(e) {
    e.stopPropagation();
    alert('remainder');
})

<强> DEMO

注意

如果有可能,那么使用.live()代替.on()进行jQuery 1.7 +的委托事件处理。

答案 1 :(得分:0)

event.preventDefault()范围内使用send-reminder

$('.text-conteiner span.send-reminder').on('click', function(e){
    e.preventDefault();
}));