Javascript “onkeydown”属性可见但为空?

Javascript “onkeydown”属性可见但为空?,javascript,html,facebook,event-handling,reactjs,Javascript,Html,Facebook,Event Handling,Reactjs,我正在编写一个Chrome扩展,并试图通过编程在您键入Facebook聊天的textarea元素上触发一个按键事件 如果我查看inspector中的元素,我可以看到它设置了onkeydown处理程序: onkeydown="run_with(this, ["legacy:control-textarea"], function() {TextAreaControl.getInstance(this)});" -但我不能触发它。在试图找出无法触发它的原因时,我发现当我使用其中一个类选择元素并在控

我正在编写一个Chrome扩展,并试图通过编程在您键入Facebook聊天的textarea元素上触发一个按键事件

如果我查看inspector中的元素,我可以看到它设置了onkeydown处理程序:

onkeydown="run_with(this, ["legacy:control-textarea"], function() {TextAreaControl.getInstance(this)});"
-但我不能触发它。在试图找出无法触发它的原因时,我发现当我使用其中一个类选择元素并在控制台中键入document.querySelector'.\u 552m.onkeydown时,它会显示为null。同样,对onkeydown使用getAttribute也会返回null

我错过了什么?如何获取此事件处理程序?为什么我可以在inspector中的元素上看到它的设置,而不能以通常的方式通过编程访问它?这里有什么奇怪的魔法吗

编辑:document.querySelector'.\u 552m'。属性显示列出的onkeydown属性…wtf…

如果document.querySelector'.\u 552m'。属性显示onkeydown属性,您应该能够使用document.querySelector'.\u 552m.获取属性“onkeydown”它对我有效,在我的facebook页面上返回:

"run_with(this, ["legacy:control-textarea"], function() {TextAreaControl.getInstance(this)});"
否则,由于attributes对象只是一个对象,您可以使用document.querySelector'.\u 552m'上的getNamedItem'onkeydown'访问它。属性如下:

var elm = document.querySelector('._552m')
elm.attributes.getNamedItem('onkeydown')    //returns the attr itself
elm.attributes.getNamedItem('onkeydown').value   //returns the string value

您的代码试图如何触发它?带有$elem.triggerjQueryEvent的$.Event和带有本机事件的elem.dispatchEvent都不成功。我不确定这些jQuery函数是否会触发除jQuery事件侦听器之外的任何东西。也许 吧: