我正在尝试制作一个 chrome 扩展来修改 Facebook 聊天窗口的活动文本区域中的文本。但我希望仅在用户按下回车键时进行更改,以便文本在文本区域中时不会更改。我希望它使用 javascript 发生并让它感觉就像它在后台发生,尽管我希望它在按键keydown
事件时被触发。enter
现在 Facebook 中聊天窗口 textarea 的相关 JavaScript 是:
<textarea class="blah"
onkeydown="window.Bootloader && Bootloader.loadComponents(["control-textarea"],
function() { TextAreaControl.getInstance(this) }.bind(this)); ">
</textarea>
在我的扩展程序的 JavaScript 文件中。我使用这样的东西绑定keydown
事件:
//elem is bound to the focussed textarea object
elem.onkeydown = function(evt) {
if(evt.keyCode == 13){
//Some javascript code I want to execute here...
}
};
我认为一旦用户按下enter键,文本区域就会被清除,并且会发出某种发布请求。所以我失去了我想使用 JavaScript 修改的文本的范围。shift我通过按+检查了 enter 键绑定是否适用于我的扩展程序enter,并且它修改了文本没有问题。所以我的脚本工作正常。
但是,我希望在清除 textarea 并发出发布请求之前执行我的脚本。我只是不希望用户看到文本被修改。
我可以在我的 google chrome 扩展脚本中添加/修改 Facebook 使用的 textarea 的键绑定吗?任何帮助都深表感谢。