在Chrome和Firefox上捕捉Backspace是不同的
我正在尝试创建一个像应用程序一样的控制台,所以我正在抓住窗口上的所有按键并与它们做相关的事情(不重要)。 问题在于退格。 我有以下代码:
$(window).bind("keypress",function(e){ var code = e.keyCode || e.which; if ( code == 8) { a = $("#console").html(); $("#console").html(a.substring(0,a.length-1)); currentCommand = currentCommand.substring(0,currentCommand.length-1); e.preventDefault(); }
但是,在Firefox中, #console
内容已删除,但Chrome不会执行上述代码。 我需要一个跨浏览器兼容的解决方案。 我错过了什么?
加成:
如果我使用keydown / keyup而不是keypress,我无法检测到characeter是’A’还是’a’它总是返回’A’。
读这个。 IE不会触发那些特殊键的按键。 也许与其他一些浏览器相同。
Javascript e.keyCode没有在IE中捕获Backspace / Del
- 为什么我得到一个jQuery没有定义错误?
- jQuery .serializeObject不是一个函数 – 只在Firefox中
- 如何正确处理Firefox中的左键和右键
- 当按下ESC时,当我在keyDown事件处理程序中使用它时,location.reload不会重新加载页面。 只在FF
- jQuery – 复选框和checkall – 如果相关复选框发生更改,则监视和更改状态
- 406在Firefox中使用Jquery $ .post但在Safari或Chrome中不使用时出现不可接受的错误
- jQuery导致Firefox大小调整警告
- 仅在Firefox上“带有源的加载失败”
- 使用firefox w / firebug,如何在浏览器中编写javascript并使用.js文件对象呢?