KeyUp事件触发,但Change事件没有触发。

3
我正在动态构建一些控件。
基本上,我将keyup附加到文本框,以便在表格中检测上/下按键以在单元格之间移动。同时,我还会监视输入字段何时更改,因为然后我将该控件添加到数组中,以便在用户点击保存时进行提交。
当我在控件之间切换或从一个控件点击到另一个控件时,这个方法是有效的。但是,如果我使用编码的箭头键移动字段,则不会触发更改事件。
我的事件处理代码如下:
$('input[id^="reo_"]').bind('change', function () {
   rowDetailChange($(this));
});

$('input[id^="reo_"]').bind('keyup', function (e) {
   processKeyUp($(this), e);
});
1个回答

2

change事件在焦点离开、失去焦点和输入内容发生变化时触发。这是因为如果不这样处理,事件会频繁触发。


内容正在改变。如果内容没有改变,我不会期望触发更改事件。 - Sam
有人可能会认为这是逻辑行为,但事实并非如此。如果不是这样的话,基于“change”事件的ajax调用将很糟糕 :) - Robin Castlin
当然。我正在寻找一种替代方法来工作,我不关心Ajax,因为在这种情况下我不会在更改时执行任何ajax操作 - 更改事件将更改的字段推送到数组中,然后在用户点击保存时进行处理。 - Sam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接