3

ユーザーが選択した言語に応じて、以下の jQuery ターゲットの 1 つ (HTML 要素ではない) を置換/置換しようとしています。

たとえば、ユーザーが言語として英語を選択した場合、#Englishターゲットを削除したいが、他のもの (つまり#Spanish, #German) を保持したい。

これどうやってするの?

 $( "#English, #Spanish, #German").click function { blah, blah, blah };
4

5 に答える 5

3

要素のハンドラーを一度だけトリガーしたいようです。その場合は.one()を使用します

$( "#English, #Spanish, #German").one('click', function(){
})
于 2013-11-11T16:42:52.810 に答える
3

id クリック イベントのバインドを解除します

$("#English, #Spanish, #German").click( function(){

    $(this).unbind('click');

});
于 2013-11-11T16:44:05.637 に答える
1

簡単な方法は、ハンドラーをチェックインして、選択した言語かどうかを確認することです。

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;
    }
});
于 2013-11-11T16:39:36.337 に答える
0

誰が選択されたかを変数に渡し、それをメイン ターゲットへのフィルターとして使用できます。

var filter = $('#english');
$('#german, #english, #spanish').not(filter).on('click',function(){ //...

また、使用を避け、代わり.click()に使用.on()してください (古いバージョンの jQuery を使用していない場合)。

フィドル

于 2013-11-11T16:49:31.073 に答える