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