2016-05-16 4 views
0

Ich habe ein Eingabefeld, das von einem Hardwarescanner gefüllt wird.Triggerrückgratwechselereignis ohne Unschärfe/Fokusverlust auf einem Eingabefeld

Ich brauche Backbone, um das Änderungsereignis auszulösen, wenn das Eingabefeld ausgefüllt ist, aber ohne dass das Unschärfen auftritt. Ist dies mit dem Backbone möglich, oder wird das Änderungsereignis nur ausgelöst, nachdem das Unschärfeereignis aufgetreten ist?

Backbone Events Deklaration:

events: { 
     // On destination populate set destination and focus on location 
     "change #destination" : "destinationscan", 
     // On Location populate set location and focus on crate 
     "change #location" : "locationscan", 
     // On crate populate send data. 
     "change #name" : "cratescan" 
    }, 

HTML:

<input id="name" type="text" placeholder="Enter Crate Name..." required value="" /> 
      <div id="locationtaholder"> 
       <input type="text" placeholder="Type a location..." required id="location" /><img id="clearlocation" src="img/clear.png" alt="Clear Location" title="Clear Location" class="item-hidden" /> 
       <ul class="typeahead dropdown-menu"></ul> 

      </div> 
      <div id="destinationtaholder"> 
       <input type="text" placeholder="Type a destination..." id="destination" /><img id="cleardestination" src="img/clear.png" alt="Clear Destination" title="Clear Destination" class="item-hidden" /> 
       <ul class="typeahead dropdown-menu"></ul> 
      </div> 
+0

Es ist mir nicht klar, was das Problem ist. Ihr "Hardware-Scanner" löst nicht alle erwarteten Ereignisse aus oder löst Ereignisse aus, die Sie nicht möchten. [X/Y Problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem): Warum willst du die Unschärfe vermeiden? Bitte fügen Sie einige Informationen hinzu, wie dieser "_hardware_ scanner" mit Ihrem Browser interagiert: z. Emuliert es eine Tastatur wie einige Barcode-Scanner? –

+0

Der Hardward-Scanner füllt das Eingabefeld wie eine Paste, würde aber ohne die Tastendruckereignisse. Es verwischt das Eingabefeld nicht und ich muss die Daten verarbeiten, die in das Eingabefeld gelangen, sobald es gescannt wird. Daher kann das Änderungsereignis nicht verwendet werden, da es nur bei Unschärfe ausgelöst wird. –

+0

Ich sehe. Es gibt ein Change-Event, aber wahrscheinlich auch für unvollständige Strings. Ist das wahr? Können Sie ein weiteres Feld hinzufügen, das der Scanner mit Dummy-Daten füllen kann? Sie können diese Chnage verwenden, um zu erkennen, dass das Füllen der anderen Felder abgeschlossen ist. –

Antwort

1

Die Veranstaltung Änderung Rückgrat ist Jquery Ereignis. Also, wenn Sie nicht möchten, Trigger-Unschärfe, um die Änderung anwenden können Sie Trigger-Change-Ereignis nach dem gefüllten Eingang:

+0

Wie erfasse ich das Populate-Ereignis? –

+0

Es variiert, nur basierend auf Ihrem Kontext. Die einfache Möglichkeit, die Taste in Ihrem Eingabefeld nach oben oder unten zu drücken. –

+0

Key/Keydown wird jedoch nicht ausgelöst, da der Eingang durch einen hardwareseitigen Scannereingang gefüllt wird. –

Verwandte Themen