0

jQuery は初めてで、クリック機能を編集する方法を知りたいです。

HTML は次のようになります。

<ul class="result">
   <li id="a"></li>
   <li></li> //will be added through a loop depending on input
</ul>

だから私の問題は、liオブジェクトをクリックすると何かが起こるということです。li id="a"今、私はそのイベントから除外したいと思います。私はこれを処理すると思っreturn false;たが、そうではありません。

jQuery 関数は次のようになります。

$('.result li').click(function() { 
    $('.result li a').click(function (event) {
        event.preventDefault();
        event.stopPropagation();
    });
        some further code...
});

私も試しました:

$('.result li').click(function() { 
    $('.result li a').click(function () {
        return false;
    });
        some further code...
});

どうもありがとう。

4

5 に答える 5

6
$('.result li:not(#a)').click(function() { 
于 2013-04-17T11:45:55.920 に答える
2

あなたはこれを行うことができます

$('.result li').click(function() {     
       if($(this).attr('id')!="your id")
        some further code...
    });
于 2013-04-17T11:45:07.660 に答える
1

これを試して:

$('.result li').click(function (e) {
    if (e.target === this) {
        some further code...
    }
});

ここでthisは、現在のスコープ内の要素を意味し、常にliここをクリックします。

ande.targetは、実際にクリックされた要素を意味し、liまたはのいずれかになりaます。

そのため、実際にクリックされた要素がli現在のスコープにない場合は、 e.target === thisfalse を返し、何も起こらない (クリック イベントは発生しません) か、その逆です。

于 2013-04-17T11:53:38.190 に答える
0

単純な場合は機能するはずです:

$('.result li').click(function(ev) { 
  if (this.id == "a") {
    return; 
  }

  // Do your stuff
});
于 2013-04-17T11:47:34.373 に答える
0

否定疑似クラス (:not(X)) がその仕事をします。ここで否定疑似クラスについてより良いアイデアを得ることができます

今、これで試してみてください

$('.result li:not(#a)').click(function() {

    // Your code here...

}
于 2013-04-17T12:33:16.327 に答える