-2
$("#myInputId1").blur(function()

どのようにできるのか:

#myInputId1, #myInputId2, #myInputId3 -> same blur function

それは難しいことではないと思いますが、多くのことを試してみましたが、できません!

4

8 に答える 8

3

必要なすべての要素に同じ css クラスを適用します。次に、次のコードを使用します

$('.className').blur(function(){
     ....
 });
于 2013-07-22T10:20:19.573 に答える
2

これを試して:

$("#myInputId1, #myInputId2, #myInputId3").blur(function(){
   //your code
});

または、で始まるすべての id を確認できる他の方法myInputId:

$('input[id^=myInputId]').blur(function(){
   //your code
});
于 2013-07-22T10:19:26.533 に答える
0
$('input[id^="myInputId"]').blur(function() {

});
于 2013-07-22T10:21:48.323 に答える
0

以下のコード スニペットを試してみてください。

$('input[id*="myInputId"]').blur(function()
于 2013-07-22T10:22:10.690 に答える
0

単に -

$('#myInputId1, #myInputId2, #myInputId3').blur(...)

http://api.jquery.com/multiple-selector/

于 2013-07-22T10:19:36.233 に答える
0

As Api suggested [jQuery( "selector1, selector2, selectorN" )]

$("#myInputId1, #myInputId2, #myInputId3").blur(function(){


}

http://api.jquery.com/multiple-selector/

于 2013-07-22T10:20:03.020 に答える
0

または、親でイベントをバインドできます。

$(container).on('blur', 'input', function(){
    //do something
})
于 2013-07-22T10:37:44.390 に答える
0

もう 1 つのオプションは、委任を使用することです。

var relevantIDs = ['myInputID1','myInputID2','entirelyDifferentID'];
$('body').on('blur', function (e){
    var self = e.target;
    if (self.id && $.inArray(self.id, relevantIDs) > -1) {
        $(self).plugin();
    }
});

残念ながら、これには要素ids がすべて配列内で事前定義されていることが明示的に要求されますが、これらidの s が特定のパターンを持たないことは許可されます (明らかに、attribute-starts-with または end-with セレクターの要件です)。

パフォーマンス上の理由から、ドキュメントではなく、すべての対象要素の中で最も近い共有先祖要素を選択することをお勧めしますbody

他の場所で述べたように、この複数idベースの選択を可能にする回避策はありますが、a などの共通属性を使用する方がはるかに簡単で単純で明確classです。

参考文献:

于 2013-07-22T10:30:02.760 に答える