您好,我正在为该屏幕的远程编写按键事件,上下工作正常,问题是当光标位于文本字段内时,我的按键事件不起作用。
如果有人知道关键事件请帮助我。
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)}"
/>
<input type="image" id="searchButton"class="searchImage" src="resources/search1.png"
ng-class="{'selected-search-asset-border': isSearchItemHighlighted(9)}" ng-click="availableSearchList()" />
搜索文本字段的索引号是8,如果我按回车键,当搜索文本字段中的红色边框时光标将聚焦,但之后我的按键事件不起作用。 实际上我想将 Controller 从文本字段向右和向上移动。
我的代码有什么问题,请帮助我。
最佳答案
最好的解决办法是:
$("your_input").keyup(function (e) {
if (e.keyCode == 13) {
// Do something
}
});
另一种(更糟糕的)方法是:
如果您的光标位于输入中并且您的按键事件不起作用,您应该检查光标位于输入中时按下的每个键。为此,您应该在输入中添加change()函数,在该函数中您可以检查光标位于输入中时按下的键
$( "your_input" ).change(function() {
var key_pressed = your_input.text().slice(-1);
if (key_pressed = "e" )
//do that
});
关于javascript - 当光标位于文本字段内时如何编写按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37519011/