我最近在Safari中注意到,在某些情况下,如果我按Command+z,它会打开以前打开的浏览器选项卡。
它把我的网络应用程序搞得一团糟。有时它会正确地执行撤销,而有时它会打开上一页(当没有更多的撤销历史记录时)。这是一个bug,还是一个我可以在JavaScript或HTML中关闭的功能?我的应用程序并不总是在文本字段中有光标,所以我需要防止Safari采取的事件。
这是Mac OSX 10.11,Safari 10.1。
Safari从Undo Typing更改为Undo Close Tab:
3条答案
按热度按时间mwg9r5ms1#
这是完全正确的:"Safari正在从我的网页中窃取撤销键盘事件。"
就是这样Safari从你的键盘上窃取了CMD-Z,而这些CMD-Z通常会被发送到谷歌文档中。
syqv5f0l2#
虽然看起来this可能值得阅读,但我建议不要采用这种做法,而是研究一下应用程序的构建方式。重新打开以前关闭的标签页是人们在Web浏览器中执行的常见操作,您的应用程序应该能够处理此操作。
xesrikrc3#
我为keypress事件的window对象添加了一个监听器,并在事件上调用了preventDefault():