2

我有一个带有输入字段(存储每个对象的价格)的表单,这些字段具有不同的按键、模糊和按键事件。当用户浏览字段时,我的 JS 循环遍历每个输入字段以检查它是否已从其先前的值更改(并基于该值执行计算)。(我尝试使用 .change 和 .keypress 事件来代替 - 不幸的是,它们被定时触发 AFTER keyup,它需要在之前)。

我存储每个输入的初始值的全局变量数组,并对照它检查当前值。但是由于某种原因,当我遍历每个输入并检查其 .val() 时,效果是用户当前选择的输入被取消选择。.attr("value") 也是如此。我已经进行了充分的调试,知道这个特定的调用是问题所在——例如,替换一个随机数而不是调用 .val() 会导致它完美地工作。任何想法为什么会这样?!我无计可施。

4

1 回答 1

1

为了清楚起见,并且不想让这个问题看起来没有答案,我也在此处重复评论部分接受的答案:

onkeydown事件相关的事件顺序:onkeydown -> onkeypress -> onkeyup

答案取自w3schools.com。使用onkeydown事件似乎解决了 OP 的困境:

(我尝试使用 .change 和 .keypress 事件来代替 - 不幸的是,它们被定时触发 AFTER keyup,它需要在之前)

;)

于 2013-01-26T04:30:10.187 回答