0
我正在尝试将文档和按键按下的控件发送到按键功能。有没有办法将一个变量传递给keypressed函数?
这里是我的代码:
//Namespace
MyExt.BrowserOverlay = {
init: function() {
var appcontent = document.getElementById("appcontent"); // browser
if(appcontent)
appcontent.addEventListener("DOMContentLoaded", MyExt.BrowserOverlay.onPageLoad, true);
},
onPageLoad: function(aEvent) {
var doc = aEvent.originalTarget;
if (doc.location.href == "http://something.com"){
var txtBox = doc.getElementById('txtBox');
txtBox.addEventListener('keypress', keypressed, false); //Error Line
}
},
...
是这样的:通过可变
txtBox.addEventListener('keypress', keypressed(?,doc), false);
function keypressed(a,doc){
alert(a); //a relates to keypress
alert(doc.innerHTML);
}
(文档)在这种情况下不起作用,因为多个选项卡是打开的,可能还有相同的页面和元素。我不想修改所有这些只是创建事件的人。你可以从它上面的控件返回文档吗?不幸的是,全局变量可能是我唯一的出路。 – Anon 2010-08-05 02:39:26
如果你有'doc'变量,像传递'someVar'那样传递它。 – draganHR 2010-08-05 08:07:29
doc不是可以在onPageLoad函数之外使用的全局变量,而keypressed是MyExt.Browseroverlay命名空间之外的私有函数。 var target = e.currentTarget; //返回控件而不是文档。 我正在努力获得这两个。 – Anon 2010-08-05 14:59:53