我正在编写一个 JS 函数,我想直接与 onfocus 事件一起使用,也可以在另一个函数中使用它。问题是如果我传递函数this,那么我所有的函数代码都需要是field.value。当我在函数中使用它时,这会导致问题,因为传递的变量没有 .value 属性。
然后我的想法是将 this.value 传递给函数,这样我就可以处理传递的数据,无论是字段值还是函数值。但是,现在它不会更改原始字段的值。
有没有解决这个问题的好方法,还是我只需要有两个功能?
这是我的两个不同版本的代码:
// Can't be used with when using onfocus="makeNum(this.value)"
function makeNum(value){
value = value.match(/\d+(\.\d{1,2})?/g).join("");
}
或者
// Can't be used with a function, but works when using makeNum(this)
function makeNum(field){
field.value = field.value.match(/\d+(\.\d{1,2})?/g).join("");
}