2010-01-31 2 views
0

salut J'écris un widget javascript qui gère les événements de clavier. Le problème en question se pose lorsque je montre un div et que je veux le cacher quand quelqu'un appuie sur esc.comment dois-je me référer à l'objet appelant dans un événement de clavier géré en javascript

Quelle est la meilleure façon d'atteindre les objectifs suivants (j'utilise jquery dans ce projet)

var escToExit = function(e){ 
    // code to check for esc 
    // i then want to call the instance of widget that is linked to this function 
} 
var widget = { 
    show : function(){ 
    $(document).keyup(escToExit); 
    }, 
    hide : function(){ 
    //hide code here 
    } 
} 

grâce

+0

Vous définir un widget comme widget '= {...}'. Y a-t-il plus d'un de ces objets créés, car cela ressemble à une instance globale unique? –

+0

désolé, oui il y a plusieurs instances, j'aurais dû ajouter le prototype à l'exemple, merci –

Répondre

0

Modifier

Par valeur:

var escToExit = function(e){ 
    e.data.wpass; // here is your ref 
    // rest of func 
} 

var widget = { 
    show : function() { 
    $(document).bind('keyup', {wpass : widget}, escToExit); 
    // rest of obj 
} 

Voir

http://api.jquery.com/bind/

et

http://api.jquery.com/trigger/

+0

désolé, cela ne se réfère pas à l'objet widget –

Questions connexes