我有一个带有onChange事件的select元素,当我点击选择框并在其中选择一个新值时, 会触发。但是,当我选中选择框并按向上或向下箭头更改选择框的值时,事件不会触发。
我正在使用jQuery().change(function(){ ... });
来设置事件
答案 0 :(得分:2)
当您切换到<select>
元素时,只有按Enter键才会触发更改事件。
答案 1 :(得分:1)
要激活onChange()
,必须更改和 input
必须blur()
- ed(焦点移到别处);这就是为什么它会在你的第一种情况下发生,而不是在第二种情况下发生。
更改事件在其值更改时发送到元素。此活动仅限于
<input>
元素,<textarea>
框和<select>
元素。对于选择框,复选框和单选按钮,当用户使用鼠标进行选择时会立即触发事件,但对于其他元素类型,事件将延迟,直到元素失去焦点。
参考:
答案 2 :(得分:1)
正如其他人所说,变化事件直到模糊事件才会发生。您还需要监控密钥,以捕获正在使用箭头键更改值的人。
监控密钥和更改,
$('select').bind('change keyup', function() {
// Handle
});
答案 3 :(得分:1)