さて、アイテムをクリックしてから、そのアイテムをクリック不可にし、それに接続されているjQueryを実行しないようにします。私は現在これを使用しています
$(clicked_id).prop('disabled', true);
しかし、それは機能していません。
どんな助けでも大歓迎です!
編集:
これはHTMLです:
<img src="imgs/card.jpg" id="card0" name="card0" onclick="getCard(this.id); ">
さて、アイテムをクリックしてから、そのアイテムをクリック不可にし、それに接続されているjQueryを実行しないようにします。私は現在これを使用しています
$(clicked_id).prop('disabled', true);
しかし、それは機能していません。
どんな助けでも大歓迎です!
編集:
これはHTMLです:
<img src="imgs/card.jpg" id="card0" name="card0" onclick="getCard(this.id); ">
disabled
入力要素を無効にするためだけのものです(オブジェクトのクリック可能性は変更されません。デフォルトのアニメーションが実行されないだけです)。
クリックイベントがオブジェクトから削除されるようにするには、次を使用します。.off()
$(clicked_id).off('click')
ただし、これはonclickがjqueryを介して追加された場合にのみ機能します
代わりに、これを行うことができます:
$(clicked_id)[0].onclick=false
ハンドラーは属性として割り当てられているため、そのイベントハンドラーのプロパティを無効にすることができます。
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;
別の解決策があります:
function getCard(objId){
if( !($('#'+objId).attr('used') == '1') )
{
alert('Click is working for '+objId);
// do something
$('#'+objId).attr('used', '1');
}
}
実例は次のとおりです。