我有这个下拉列表,我想在其中的值更改时提醒/记录某些内容.当我单击鼠标下拉列表并选择任何其他值时,会触发更改事件.但是当焦点在下拉列表中时,我按向上和向下箭头,它会更改下拉列表中的值,但事件不会被触发,现在警报显示出来.
这是代码
js是
$('#drpDay,#drpMonth').change(function(event) {
alert(event.which);
$('#lbl').text('change ' + event.which + ' and ' + $(event.target).attr('id'));
});
这是小提琴http://jsfiddle.net/2NBPx/4/
我想要的是当选择框中的值更改时,通过按向上和/或向下箭头事件,我希望触发该事件.为什么不开火,如何从键盘上改变它?
最佳答案
将它绑定到keyup并改变如下:http://jsfiddle.net/2NBPx/6/
$('#drpDate,#drpMonth').on('change keyup',function(event) {
if($(this).data('last') !== $(this).val()){
$(this).data('last',$(this).val());
$('#lbl').text('For change ' + event.which + ' and you ' + $(event.target).attr('id'));
}
});
更新:仅在发生实际更改时触发.