问题描述
$(".myInput").inputFilter(function(value) { return /^\d*[.]?\d{0,2}$/.test(value) && (value === "" || parseFloat(value) <= 100000000); });
如果我像动态一样更改值
$(".myInput").val(xxxx);
之后,当输入被点击时,值变为旧值...
怎么才能避免呢?我想要动态分配的山谷。
“inputFilter”函数:
$.fn.inputFilter = function(inputFilter) {
return this.on("input keydown keyup mousedown mouseup select contextmenu drop",function() {
if (inputFilter(this.value)) {
this.oldValue = this.value;
this.oldSelectionStart = this.selectionStart;
this.oldSelectionEnd = this.selectionEnd;
} else if (this.hasOwnProperty("oldValue")) {
this.value = this.oldValue;
this.setSelectionRange(this.oldSelectionStart,this.oldSelectionEnd);
} else {
this.value = "";
}
});
};
这里的代码工作:https://jsfiddle.net/6z38urvt/
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)