リソースが読み込まれるまで有効にしないでください。私のアイデアは、ボタンを.disabled
クラスで初期化し、リソースの準備ができたら削除することでした。それまでの間.disabled
、他のハンドラーへのイベントの伝播を防ぐクリック イベントのハンドラーが必要です。
問題は、ハンドラーを最初に追加しても.disabled
、他のクリック ハンドラーの前に起動できないことです。
$( "body" ).on('click','.disabled', function(e) {
alert('disabled');
e.stopImmediatePropagation();
return false;
});
$('.clickable').click(function(e) {
alert('enabled');
});
// Call this when ready:
//$('.clickable').removeClass('disabled');
フィドル: http://jsfiddle.net/4rJxU/7/
.clickable
これは、おそらく委任されたイベントが要素の親によってキャプチャされ、後で処理されるため、「有効」アラートが最初にポップアップし、次に「無効」アラートがポップアップしますか?
委任されたイベントを使用してクリック ハンドラーを無効にするにはどうすればよいですか?