0

我是 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){
    ...
}));
4

2 回答 2

0

我认为您可以停止事件传播。:not()不会在这里工作。

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

演示

例如,您也可以执行以下操作:

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

演示 ​</p>

笔记

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

于 2012-08-07T05:30:33.547 回答
0

event.preventDefault()send-reminder跨度上使用。

$('.text-conteiner span.send-reminder').on('click', function(e){
    e.preventDefault();
}));
于 2012-08-07T05:33:44.950 回答