gpt4 book ai didi

javascript - 我可以只为某些输入元素重写 jQuery .val() 吗?

转载 作者:数据小太阳 更新时间:2023-10-29 04:37:43 24 4
gpt4 key购买 nike

假设我正在使用一个“占位符”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;
};

并简单地使用 $("#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;
};

关于javascript - 我可以只为某些输入元素重写 jQuery .val() 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3534267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com