我最近写了很多 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(){});
谢谢
编辑:
我也有这个用例,我想在多个元素上翻转显示,我在这个论坛上找到了这个,但我还没有测试过。这是我的 impl,我欢迎就该策略提供反馈
$("#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);
}
}
第二次编辑:
这是代码的最终版本,经过测试并且可以完美运行!感谢@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');
}