私は最近、繰り返されるように見える多くの JQuery コードを書いています。次のショートカットがあるかどうか疑問に思っています。
1) 複数の要素を名前で選択する、つまり
$("input[type=text][name=one][name=two][name=three]").live(); <-- is that correct syntax
2) 複数のライブバインディング、つまり
$("input[type=text]").live('blur and click',function(){});
ありがとう
編集:
複数の要素の表示を反転したいこのユースケースもあります。これはこのフォーラムで見つけましたが、まだテストしていません。これが私の実装であり、戦略に関するフィードバックを歓迎します
$("#btn_account_edit").live('click',function(){
flip_display_on_off(
$("#btn_account_edit_cancel, #btn_account_save, #account_edit_form"),
$("#btn_account_edit, #account_edit_static"),
false,true);
});
$("#btn_account_edit_cancel").live('click',function(){
flip_display_on_off(
$("#btn_account_edit_cancel, #btn_account_save, #account_edit_form"),
$("#btn_account_edit, #account_edit_static"),
true,false);
});
function flip_display_on_off($element_set1,$element_set2,flip1,flip2) {
var display1 = 'block' ? if flip1 : 'none';
var display2 = 'none' ? if flip2 : 'block';
for (i =0; i < element_set1.length; i++) {
$element_set1[i].css('display',display1);
}
for (i =0; i < element_set2.length; i++) {
$element_set2[i].css('display',display2);
}
}
2番目の編集:
これはコードの最終バージョンであり、テスト済みで完全に動作します! @thecodeparadoxに感謝します
$("#btn_account_edit").live('click',function(){
flip_display_on_off(
$("#btn_account_edit_cancel, #btn_account_save, #account_edit_form"),
$("#btn_account_edit, #account_edit_static"),
true);
});
$("#btn_account_edit_cancel").live('click',function(){
flip_display_on_off(
$("#btn_account_edit_cancel, #btn_account_save, #account_edit_form"),
$("#btn_account_edit, #account_edit_static"),
false);
});
function flip_display_on_off($element_set1, $element_set2, flip1) {
$element_set1.css('display', flip1 ? 'block' : 'none');
$element_set2.css('display', flip1 ? 'none' : 'block');
}