ユーザーが選択した言語に応じて、以下の jQuery ターゲットの 1 つ (HTML 要素ではない) を置換/置換しようとしています。
たとえば、ユーザーが言語として英語を選択した場合、#English
ターゲットを削除したいが、他のもの (つまり#Spanish, #German
) を保持したい。
これどうやってするの?
$( "#English, #Spanish, #German").click function { blah, blah, blah };
ユーザーが選択した言語に応じて、以下の jQuery ターゲットの 1 つ (HTML 要素ではない) を置換/置換しようとしています。
たとえば、ユーザーが言語として英語を選択した場合、#English
ターゲットを削除したいが、他のもの (つまり#Spanish, #German
) を保持したい。
これどうやってするの?
$( "#English, #Spanish, #German").click function { blah, blah, blah };
要素のハンドラーを一度だけトリガーしたいようです。その場合は.one()を使用します
$( "#English, #Spanish, #German").one('click', function(){
})
id クリック イベントのバインドを解除します
$("#English, #Spanish, #German").click( function(){
$(this).unbind('click');
});
簡単な方法は、ハンドラーをチェックインして、選択した言語かどうかを確認することです。
var chosen_language = 'English'; // This can be updated by some other code
$("#English, #Spanish, #German").click(function() {
if (this.id != chosen_language) {
blah blah blah;
}
});
誰が選択されたかを変数に渡し、それをメイン ターゲットへのフィルターとして使用できます。
var filter = $('#english');
$('#german, #english, #spanish').not(filter).on('click',function(){ //...
また、使用を避け、代わり.click()
に使用.on()
してください (古いバージョンの jQuery を使用していない場合)。