Raz*_*t4x 5 jquery events dom jquery-selectors
我有这个dropdown,我想在其中的值被更改时提醒/记录某事.当我单击dropdown鼠标并选择任何其他值时,会发生更改事件.但是,当焦点在dropdown,我按up和down箭头,它改变下拉列表中值,但不会触发事件,并提醒正在显示出来.这是代码
<select id="drpDay" name="drpDay" style="background-color: white;">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7" selected="selected">7</option>
</select>
</br>
<select id="drpMonth" name="drpMonth" style="background-color: white;">
<option value="Jan">Jan</option>
<option value="Feb">Feb</option>
<option value="Mar">Mar</option>
<option value="Apr">Apr</option>
<option value="May">May</option>
<option value="Jun">Jun</option>
<option value="Jul">Jul</option>
<option value="Aug">Aug</option>
<option value="Sep">Sep</option>
<option value="Oct">Oct</option>
<option value="Nov" selected="selected">Nov</option>
<option value="Dec">Dec</option>
</select>
</br>
<label id="lbl" text="" width="auto">adsf</label>
Run Code Online (Sandbox Code Playgroud)
js是
$('#drpDay, #drpMonth').change(function(event) {
alert(event.which);
$('#lbl').text('change ' + event.which + ' and ' + $(event.target).attr('id'));
});
Run Code Online (Sandbox Code Playgroud)
这是小提琴http://jsfiddle.net/2NBPx/4/
我想要的是当选择框中的值改变时,通过按up和/或down箭头改变事件,我想要触发该事件.为什么不开火,如何从键盘上改变它?
将它绑定到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'));
}
});
Run Code Online (Sandbox Code Playgroud)
更新:仅在发生实际更改时触发.