2016-05-30 4 views
1

enter image description hereWie wichtige Ereignisse zu schreiben, wenn sich der Cursor in das Textfeld ein

Hallo ich für diesen Bildschirm, Höhen und Tiefen für die Fernschlüsselereignisse schreibe meinen Schlüssel richtig funktioniert, ist das Problem, wenn sich der Cursor in das Textfeld ist Ereignisse funktionieren nicht.

wenn jemand über Schlüsselereignisse weiß plz mir helfen.

Controller.js

var unFocusText = function(){ 
 
     $("#search_all")[0].blur(); 
 
    }; 
 

 

 
case PV.yoohu.appConstants.keyCodes.BACK: 
 
case PV.yoohu.appConstants.keyCodes.ESC: 
 
    break; 
 
case PV.yoohu.appConstants.keyCodes.SELECT: 
 

 
if (_isSearchItemHighlighted == 8) {       
 
    $("#search_all")[0].focus(); 
 
} 
 

 
break; 
 
case PV.yoohu.appConstants.keyCodes.DOWN: 
 
    if (searchScreen) { 
 
    if (0 <= _isSearchItemHighlighted && _isSearchItemHighlighted <=   $scope.searchFilters.length-1) { 
 
    isSearchItemHighlighted = 8; 
 
          
 
    } 
 
    } 
 

 
    break; 
 
case PV.yoohu.appConstants.keyCodes.RIGHT: 
 
if (_isSearchItemHighlighted == 8) {       
 
    _isSearchItemHighlighted = 9; 
 
    unFocusText();   
 
} 
 

 
    break; 
 
case PV.yoohu.appConstants.keyCodes.UP: 
 

 
    if (_isSearchItemHighlighted == 8) {       
 
    _isSearchItemHighlighted = 0; 
 
    unFocusText(); 
 
    }
<div id="searchCategory"> 
 
      <div id="searchFilter" ng-repeat="item in searchFilters"> 
 
       <input id="searchFilternames" type="radio" ng-model="selectedFilter.name" 
 
       value="{{item.name}}" 
 
       ng-class="{'selected-search-asset-border': isSearchItemHighlighted($index)}" 
 
       ng-checked="isItemChecked(item, $index)"/><span 
 
       ng-bind="item.name"></span>     
 
      </div> 
 
     </div> 
 

 
     <input type="text" id="search_all" class="input" placeholder="enter text" ng-class="{'selected-search-asset-border': isSearchItemHighlighted(8)}" 
 
     />&nbsp; 
 

 
     <input type="image" id="searchButton"class="searchImage" src="resources/search1.png" 
 
     ng-class="{'selected-search-asset-border': isSearchItemHighlighted(9)}" ng-click="availableSearchList()" />

Index nicht von der Suche Textfeld ist 8, wenn ich die Eingabetaste drücken, wenn die rote Grenze in Search Textfeld wird der Cursor fokussiert werden, aber nach, dass meine wichtigsten Ereignisse funktionieren nicht. Eigentlich möchte ich Controller aus dem Textfeld nach rechts und nach oben bewegen.

Was ist falsch in meinem Code, bitte helfen Sie mir.

Antwort

0

Die beste Lösung ist:

$("your_input").keyup(function (e) { 
     if (e.keyCode == 13) { 
      // Do something 
     } 
    }); 

Weitere (schlechter) Weg ist:

Im Fall, dass Sie den Cursor in der Eingabe und Ihre wichtigsten Ereignisse Arent arbeiten Sie sollten jede Taste überprüfen, die gedrückt wird, wenn der Cursor in der Eingabe ist. Dazu sollten Sie die Änderung() Funktion an Ihrem Eingang hinzufügen und in der Funktion können Sie die Tasten überprüfen, die gedrückt werden, wenn sich der Cursor in der Eingabe

$("your_input").change(function() { 
     var key_pressed = your_input.text().slice(-1); 
     if (key_pressed = "e") 
     //do that 
    }); 
+0

Könnten Sie bitte erarbeiten mehr Ihre Antwort mit ein wenig mehr Beschreibung der von Ihnen bereitgestellten Lösung? – abarisone

+1

Ich habe meine Antwort bearbeitet, bitte überprüfe die erste Lösung und sag mir, ob es geholfen hat :) –

Verwandte Themen