我有一个下拉菜单,当它更改时会触发一个ajax调用:
$('.travel-to').change(function(){
$.ajax({
type: "GET",
url: "/inc/rates/rates-viewer.php",
data: "shtech=y&c_name="+escape($(this).val()),
success: function(html){
$(".rates-viewer").html(html);
$(".rates-viewer tr.numbers td").css({ opacity: 0 }).fadeTo("slow",1);
}
});
});
我的问题是,在Firefox中,使用向上/向下光标键循环显示下拉选项,不会触发js
onChange()
事件。在IE中没关系。如何使Firefox将上/下光标视为
onChange
?我是否可以在事件上做一个或一个事件,以使onChange
或按键触发同一件事?谢谢。
最佳答案
您实际上是在利用IE中的错误。 Firefox正确支持onChange,因为只有在浏览器失去选择字段的焦点之前,它才应触发。 (实际上,昨天我就此问题做了answered a question。)将onChange与select一起使用实际上是一种危险,特别是因为只有键盘用户无法跳过某些选项。 (最重要的是,鼠标滚轮似乎旋转了多个答案,但实际上它会为在IE上传递的每个条目触发onChange。)
如果您确实希望每当有人向上或向下按下事件时就触发该事件,那么我会挂接到onKeyPress或onKeyDown事件上,以便在按下“向上”或“向下”键时触发该事件。
关于javascript - jQuery <select>和firefox上的change(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/586936/