Javascript 如何在自定义搜索框中使用关键事件?

Javascript 如何在自定义搜索框中使用关键事件?,javascript,angularjs,Javascript,Angularjs,我想在搜索框中使用按键事件。实际上,我使用ng change编写搜索框,因此我在按键事件中遇到问题。我使用ng keyup和ng keydown,但它不起作用 Html: 我需要列表中的关键事件,如图所示 提前谢谢 已经完成了2个小时,请任何人帮助我。您可以将$event传递给您的函数,以观察按下了哪个键 ng-keyup="fnAutocomplete($event, value) 然后在控制器中: $scope.fnAutocomplete= function($event, value

我想在搜索框中使用按键事件。实际上,我使用ng change编写搜索框,因此我在按键事件中遇到问题。我使用ng keyup和ng keydown,但它不起作用

Html:

我需要列表中的关键事件,如图所示

提前谢谢


已经完成了2个小时,请任何人帮助我。

您可以将
$event
传递给您的函数,以观察按下了哪个键

ng-keyup="fnAutocomplete($event, value)
然后在控制器中:

$scope.fnAutocomplete= function($event, value) {
     // Get Key Event
     var key = $event.keyCode;
}

您可以向函数传递
$event
,以观察按下的键

ng-keyup="fnAutocomplete($event, value)
然后在控制器中:

$scope.fnAutocomplete= function($event, value) {
     // Get Key Event
     var key = $event.keyCode;
}

不使用
ng点击这里有什么原因吗

不使用
ng点击这里有什么原因吗

嘿,我已经尝试了解决您的需求的方法,请尝试并让我们知道

HTML


嘿,我已经尝试了解决您的要求,请尝试它,让我们知道

HTML


对不起,我不清楚您的要求……您能具体说明一下吗?@Sa E Chowdary我有一条关于ng change的文字,我正在列表中获取筛选值,但我需要给出列表的关键事件。请参见此示例:@Sa E Chowdary我在检查后更新了问题。抱歉,我没有清楚地理解您的要求…您能否具体说明一下“@Sa E Chowdary我有一个关于ng change的文本,我正在获取列表中的筛选值,但我需要为列表提供关键事件。请参见此示例:@Sa E Chowdary我在检查后更新了问题。关键事件的确切含义是什么??列表中的键盘导航,就像上下键的下拉菜单一样??列表中的键盘导航,就像上下键的下拉菜单一样
<div class="input-group dropdown">
            <input id="custSearch" type="text" ng-model="value" data-toggle="dropdown"  ng-change="fnAutocomplete(value)" ng-keyup="fnAutocomplete(value)" ng-keydown="fnAutocomplete(value)" ng-click="fnAutocomplete(value)">
                <div id="listBox" class="dropdown-menu width-menu">
                    <ul>
                         <li ng-repeat="value in data | filter: value" ng-click="selectfromList(value.txt); " tabindex="-1"  ng-keyup="fnAutocomplete(value)" ng-keydown="fnAutocomplete(value)" style="cursor: pointer;">
                                    {{value.txt}}
                         </li>
                     </ul>
                </div>
        </div>
$scope.fnAutocomplete= function (question) {
        document.getElementById('listBox').style.display = 'block';
        $scope.data = [{ "val": 1, "txt": "Brown" }, { "val": 2, "txt": 
      "Red" }, { "val": 3, "txt": "White" }, { "val": 4, "txt": "Amristar" 
      }, { "val": 5, "txt": "Yellow" }, { "val": 6, "txt": "Pink" }, { 
     "val": 7, "txt": "Orange" }, { "val": 8, "txt": "Green"}, { "val": 9, 
     "txt": "Blue" }, { "val": 10, "txt": "Black" }, { "val": 11, "txt": 
     "Indigo" }, { "val": 12, "txt": "Purple" }, { "val": 13, "txt": 
     "Voliet" }, { "val": 14, "txt": "Grey" }, { "val": 15, "txt": "cream" 
     }];
      }

      $scope.selectfromList = function(values){
        if(values != undefined)
        {
          document.getElementById('custSearch').value = values;
          document.getElementById('listBox').style.display = 'none';
        }
      }