我有以下工作,只要我用鼠标从选择框中选择一个选项,或使用键盘箭头键选择选项,但使用键盘时,更改事件在我按下键盘上的输入之前不会触发。fireup与keyup和keydown
如何使用键盘方向键检测更改而不必按Enter键?
$('#select_box').change(function() {
some_function($(this).val());
});
我有以下工作,只要我用鼠标从选择框中选择一个选项,或使用键盘箭头键选择选项,但使用键盘时,更改事件在我按下键盘上的输入之前不会触发。fireup与keyup和keydown
如何使用键盘方向键检测更改而不必按Enter键?
$('#select_box').change(function() {
some_function($(this).val());
});
你可能会想避免不必要地调用你的函数多次,如果你不小心与多个事件将发生。您可以通过检查字段的值在调用之前是否实际更改来避免此问题。这样做的一种方式,如下图所示,在球场上的属性存储与以前的值,然后使用该检查该字段的值已经调用你的函数之前更改:
var previousValuePropertyKey = 'previousValue';
$('#select_box').bind('keyup change', function(event) {
var previousValue = $(this).prop(previousValuePropertyKey);
var currentValue = $(this).val();
$(this).prop(previousValuePropertyKey, currentValue);
if(previousValue != currentValue){
alert(currentValue);//TODO remove alert
//Yourfunction(..);
}
});
Here“SA捣鼓一个例子。
$('#select_box').change(function() {
alert($(this).val());
});
$('#select_box').keyup(function() {
alert($(this).val());
});
确实低于答案不令人满意?? – diEcho 2011-06-03 14:33:30