我希望为2个jQuery对象运行相同的函数:$('input[type="text"]')
和$('textarea[type=text]')
。如何在下面的代码中将这两者结合起来? (目前只包括输入)。
$('input[type="text"]').focus(function() {
if (this.value == this.defaultValue){
this.value = '';
}
if(this.value != this.defaultValue){
this.select();
}
});
$('input[type="text"]').blur(function() {
if ($.trim(this.value == '')){
this.value = (this.defaultValue ? this.defaultValue : '');
}
});
谢谢!
答案 0 :(得分:9)
试试这个:
$('textarea[type="text"], input[type="text"]').focus(...).blur(...);
同样,您也可以使用jQuery的add
函数:
$('textarea[type="text"]').add('input[type="text"]').focus(...).blur(...);
答案 1 :(得分:1)
可能更容易在其上加上一个类并按此过滤。
答案 2 :(得分:0)
你可以创建一个插件:
jQuery.fn.clearDefValueOnFocus = function() {
return this.focus(function(){
if (this.value == this.defaultValue){
this.value = '';
}
if(this.value != this.defaultValue){
this.select();
}
}).blur(function(){
if (jQuery.trim(this.value) == ''){
this.value = this.defaultValue || '';
}
});
};
$('input[type="text"]').clearDefValueOnFocus();
$('textarea[type=text]').clearDefValueOnFocus();