Javascript 空格键(32)不适用于Mozilla Firefox
输入Javascript 空格键(32)不适用于Mozilla Firefox,javascript,firefox,space,keycode,onkeypress,Javascript,Firefox,Space,Keycode,Onkeypress,输入keyCode(13)在所有浏览器上都可以正常工作 空格键keyCode(32)我在Chrome上测试过,可以正常工作,但在Firefox上没有响应。我使用了以下代码: <script type="text/javascript" > function enterPressed(evn) { var e_id = $('e_id').value; var e_fname = $('e_fname').value; var e
keyCode(13)
在所有浏览器上都可以正常工作
空格键keyCode(32)
我在Chrome上测试过,可以正常工作,但在Firefox上没有响应。我使用了以下代码:
<script type="text/javascript" >
function enterPressed(evn) {
var e_id = $('e_id').value;
var e_fname = $('e_fname').value;
var e_role = $('e_role').value;
if (window.event && window.event.keyCode == 13) {
Monitor.Order.assign(e_id, e_fname, e_role);
} else if (evn && evn.keyCode == 13) {
Monitor.Order.assign(e_id, e_fname, e_role);
} else if (evn && evn.keyCode == 32) {
Monitor.Order.updateStatus('COOKED');
}
}
document.onkeypress = enterPressed;
</script>
功能已按下(evn){
变量e_id=$('e_id')。值;
var e_fname=$('e_fname')。值;
var e_role=$('e_role')。值;
if(window.event&&window.event.keyCode==13){
Monitor.Order.assign(e_id、e_fname、e_角色);
}else if(evn&&evn.keyCode==13){
Monitor.Order.assign(e_id、e_fname、e_角色);
}else if(evn&&evn.keyCode==32){
Monitor.Order.updateStatus('COOKED');
}
}
document.onkeypress=按回车键;
当它在Chrome上运行时,为什么在Firefox上不起作用?试试这段代码,它会很好地工作
function enterPressed(evn) {
if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)){ //test for Firefox/x.x or Firefox x.x
var e_id = $('e_id').value;
var e_fname = $('e_fname').value;
var e_role = $('e_role').value;
if (evn.which == 13) {
Monitor.Order.assign(e_id, e_fname, e_role);
} else if (evn.which == 13) {
Monitor.Order.assign(e_id, e_fname, e_role);
} else if (evn.which == 32) {
Monitor.Order.updateStatus('COOKED');
}
}
else{
var e_id = $('e_id').value;
var e_fname =$('e_fname').value;
var e_role = $('e_role').value;
if (window.event && window.event.keyCode == 13) {
Monitor.Order.assign(e_id, e_fname, e_role);
} else if (evn && evn.keyCode == 13) {
Monitor.Order.assign(e_id, e_fname, e_role);
} else if (evn && evn.keyCode == 32) {
Monitor.Order.updateStatus('COOKED');
}
}
}
document.onkeypress = enterPressed;
空格是一个可打印字符,因此按键事件将把
charCode
设置为它对应的字符,并且不会在Firefox中的按键事件上设置keyCode
一般来说,您希望在按键中使用
charCode
来打印可打印的内容,在keypup/keypdown中使用keyCode
。您是否尝试过使用evn=evn | | window.event
?检查:否,但我不知道如何检查?一个快速解决方法是使用onkeyup
而不是onkeypress
,当空格被点击时,FF似乎不会触发keypress
。举个例子:我试过小提琴,效果很好,我只是用简单的警报(“测试”)进行测试;而不是updateStatus(),但仍然不起作用