2016-03-29 15 views
0

Ich benutze Dojo 1.10.4 und ich muss auf alle meine TextBox Tab-Taste hören.Anhören der Tabulatortaste auf Dijit/Formular/TextBox

Kann dieses spezifische Ereignis erkannt werden?

Im Moment verwende ich onFocus, aber löst nicht mein Problem, da es in jedem Fall ausgelöst wird, wenn Benutzer auf die TextBox klicken.

https://jsfiddle.net/92uc0tmn/8/

require(["dijit/form/TextBox", "dijit/registry", "dojo/domReady!"], function(TextBox, registry) { 


    var textarea = new TextBox({ 
    name: "myarea", 
    value: "Some value", 
    intermediateChanges: true, 
    selectOnClick: true, 
    onChange: function() {} 
    }, "myarea").startup(); 


    var textarea2 = new TextBox({ 
    name: "myarea2", 
    value: "Some value", 
    intermediateChanges: true, 
    selectOnClick: true, 
    onChange: function() {} 
    }, "myarea2").startup(); 

    var textarea3 = new TextBox({ 
    name: "myarea3", 
    value: "Some value", 
    intermediateChanges: true, 
    selectOnClick: true, 
    onChange: function() {} 
    }, "myarea3").startup(); 
}); 
+0

'OnKey ....' Veranstaltung nicht funktioniert? 'onKeyPress: Funktion (e) { e.preventDefault(); } 'funktionierte gut .... – Rayon

+0

https://jsfiddle.net/rayon_1990/92uc0tmn/14/ – Rayon

+0

@RayonDabre danke für Ihren Kommentar, ich verstehe Ihren Punkt, aber ich brauche speziell die TAB-Taste, wenn Benutzer es auf die drücken Textfeld. Ich habe gerade eine Lösung gefunden, die unten aufgeführt ist. Könnten Sie mir bitte Ihr Feedback geben? Ich bin interessant zu wissen, ob dies der richtige Ansatz ist oder ob eine bessere Lösung mit der Verwendung von TextBox-Klasse oder dijit.form._TextBoxMixin. Vielen Dank im Voraus für Ihre Zeit. – GibboK

Antwort

1

konnte ich mein Problem mit dem folgenden Code lösen, im Grunde, ich onKeyPress für TAB Schlüssel hören.

Noch bin ich nicht sicher, ob dieser Ansatz der beste ist. Jede Idee ist willkommen.

https://jsfiddle.net/4grtLtvv/

require(["dijit/form/TextBox", "dijit/registry", "dojo/keys", "dojo/domReady!"], function(TextBox, registry, keys) { 


    var textarea = new TextBox({ 
    name: "myarea", 
    value: "Some value", 
    intermediateChanges: true, 
    selectOnClick: true, 
    onKeyPress: function(evt) { 
     if (evt.charOrCode === keys.TAB) { 
     console.log('tab!'); 
     } 
    } 
    }, "myarea").startup(); 


    var textarea2 = new TextBox({ 
    name: "myarea2", 
    value: "Some value", 
    intermediateChanges: true, 
    selectOnClick: true, 
    onKeyPress: function(evt) { 
     if (evt.charOrCode === keys.TAB) { 
     console.log('tab!'); 
     } 
    } 
    }, "myarea2").startup(); 

    var textarea3 = new TextBox({ 
    name: "myarea3", 
    value: "Some value", 
    intermediateChanges: true, 
    selectOnClick: true, 
    onKeyPress: function(evt) { 
     if (evt.charOrCode === keys.TAB) { 
     console.log('tab!'); 
     } 
    } 
    }, "myarea3").startup(); 
}); 
Verwandte Themen