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

スパンで使用event.preventDefault()します。send-reminder

$('.text-conteiner span.send-reminder').on('click', function(e){
    e.preventDefault();
}));
于 2012-08-07T05:33:44.950 に答える
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>

ノート

可能であれば、代わりにjQuery 1.7+ でデリゲート イベント処理を.live()使用します。.on()

于 2012-08-07T05:30:33.547 に答える