J'essaie d'envoyer le document et le contrôle que la touche a été enfoncée dans la fonction enfoncée.Existe-t-il un moyen de transmettre une variable à une fonction enfoncée?
Voici mon code:
//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
}
},
...
quelque chose comme:
txtBox.addEventListener('keypress', keypressed(?,doc), false);
function keypressed(a,doc){
alert(a); //a relates to keypress
alert(doc.innerHTML);
}
(document) ne fonctionnera pas dans ce cas car plusieurs onglets sont ouverts, et éventuellement les mêmes pages et éléments. Je ne veux pas tous les modifier seulement celui qui a créé l'événement. Pouvez-vous retourner le document du contrôle qui s'y trouve? Malheureusement, une variable globale pourrait être ma seule solution. – Anon
Si vous avez une variable 'doc', passez-la comme si j'avais passé' someVar'. – draganHR
doc n'est pas un global qui peut être utilisé en dehors de la fonction onPageLoad, et keypressed est une fonction privée en dehors de l'espace de noms MyExt.Browseroverlay. var cible = e.currentTarget; // Renvoie le contrôle et non le document. J'essaie d'obtenir les deux. – Anon