2013-07-29 2 views
2

J'ai réussi à attraper le code d'entrée et empêcher ma page de publier. Mais j'ai besoin d'ajouter un autre caractère à la place de Enter: le code 39 pour être exact.Comment déclencher un autre code clé après la saisie Entrer le code clé ('13 ')?

Comment puis-je y parvenir? Ceci est mon javascript. Je vois le tir d'alerte mais pas la fonction suivante :(

Entrez le code

function CkKeyPress(e) { 
    var evt = (e) ? e : window.event; 
    var key = (evt.keyCode) ? evt.keyCode : evt.which; 
    if (key == 13) { 
     CancelDefault(evt); 
    } 
} 

function CancelDefault(e) { 
    if (e.preventDefault) { 
     e.preventDefault(); 
     alert('enter caught'); 
     ReplaceEnterWithCharacter(); 
    } 
    e.returnValue = false; 
} 

function ReplaceEnterWithCharacter() //this function doesnt work somehow 
{ 
    e = $.Event('keyup'); 
    e.keyCode = 65; // A 
    $('input').trigger(e); 
} 

<asp:TextBox ID="txtSearch" runat="server" onkeypress="return CkKeyPress(event);"></asp:TextBox> 

Répondre

1

J'ai eu un certain succès avec ce genre de chose:

jQuery.event.trigger({ type : 'keypress', which : 65 }); 

qui déclenche la pression de touche

Je ne pense pas qu'il soit possible de changer la valeur du keycode sur un évènement en mid-trigger, pas plus qu'il n'est possib le pour déclencher un événement keypress sur un élément arbitraire même s'il s'agit d'une entrée ou est réellement le focus actuel.

Questions connexes