0

さて、アイテムをクリックしてから、そのアイテムをクリック不可にし、それに接続されているjQueryを実行しないようにします。私は現在これを使用しています

$(clicked_id).prop('disabled', true);

しかし、それは機能していません。

どんな助けでも大歓迎です!

編集:

これはHTMLです:

<img src="imgs/card.jpg" id="card0" name="card0"  onclick="getCard(this.id); ">
4

3 に答える 3

3

disabled入力要素を無効にするためだけのものです(オブジェクトのクリック可能性は変更されません。デフォルトのアニメーションが実行されないだけです)。

クリックイベントがオブジェクトから削除されるようにするには、次を使用します。.off()

 $(clicked_id).off('click')

ただし、これはonclickがjqueryを介して追加された場合にのみ機能します

代わりに、これを行うことができます:

$(clicked_id)[0].onclick=false
于 2013-02-17T17:13:56.537 に答える
0

ハンドラーは属性として割り当てられているため、そのイベントハンドラーのプロパティを無効にすることができます。

document.getElementById(clicked_id).onclick = null;

#IDに先頭がないことを確認してください。


または、次のようなjQueryを使用します。

$(clicked_id).prop("onclick", null);

または、IDを渡す代わりに、要素自体を渡すこともできます。

<img src="imgs/card.jpg" id="card0" name="card0"  onclick="getCard(this); ">

次に、要素のIDではなく要素を受け取るように関数を変更します。これを行うと、要素に直接アクセスできます。

elem.onclick = null;
于 2013-02-17T17:16:39.547 に答える
0

別の解決策があります:

function getCard(objId){ 
  if( !($('#'+objId).attr('used') == '1') )
  {
    alert('Click is working for '+objId);
    // do something
    $('#'+objId).attr('used', '1');
  } 
}

実例は次のとおりです。

http://jsfiddle.net/HqHut/

于 2013-02-17T17:54:24.170 に答える