假设我使用的是一个"占位符"jQuery插件,它从输入元素中读取"占位符"属性,并为尚未支持占位符的浏览器模拟它.
但我仍然希望$("input").val()正常工作 - 也就是说,如果文本框中的文本是占位符文本,则返回"".无论如何我可以覆盖.val()只是为了这些输入?
试试这个:
jQuery.fn.rVal=function() {
if(this[0]) {
var ele=$(this[0]);
if(ele.attr('placeholder')!=''&&ele.val()==ele.attr('placeholder')) {
return '';
} else {
return ele.val();
}
}
return undefined;
};
Run Code Online (Sandbox Code Playgroud)
并简单地使用$("#ele_id").rVal()来检索值.或者,如果要替换val函数(并正常使用它):
jQuery.fn.rVal=jQuery.fn.val;
jQuery.fn.val=function(value) {
if(value!=undefined) {
return this.rVal(value);
}
if(this[0]) {
var ele=$(this[0]);
if(ele.attr('placeholder')!=''&&ele.rVal()==ele.attr('placeholder')) {
return '';
} else {
return ele.rVal();
}
}
return undefined;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5841 次 |
| 最近记录: |