转到Twitter的登录页面,并在控制台中键入以下内容:
window.addEventListener(‘keypress’,function(e){console.log(‘hello’)},true)
(注意:如何将第三个参数设置为true,以启用事件捕获,这将导致事件首先被窗口截取,然后被子元素消耗.)
尝试按一些键.注意hello如何不输出到控制台.添加keydown或keyup的事件侦听器不会改变任何东西.
你好,大部分网站都会输出,而不是像Twitter或Gmail这样的网站.
为什么?什么是停止事件侦听器?
编辑:似乎按照预期在Firefox上工作.但不是Chrome. Chrome为什么不按预期触发事件侦听器?
编辑2:如下面的几个人推断的,console.log对于Chrome和Gmail等网站来说是一个空白的功能.这是为什么?
解决方法
因为这些网站已经具体设置(对于webkit显然):
console.log = function(){};
但是,在Chrome中,您可以通过在控制台中发出此命令来恢复原始日志()功能:
console.log = console.__proto__.log
那么你可以这样做:
window.addEventListener('keypress',function(e){console.log('hello')},true)
它应该按预期工作.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。