Javascript 在文本区域按向下键时选择li
我有这样的HTMLJavascript 在文本区域按向下键时选择li,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,我有这样的HTML <div class="row"> <textarea id="txtArea" ng-model="input" ng-change="handleOnChange(input);getSearchField(input);" ng-click="search(input)" ng-focus="search(input);" ng-keyup="search(in
<div class="row">
<textarea id="txtArea" ng-model="input"
ng-change="handleOnChange(input);getSearchField(input);"
ng-click="search(input)" ng-focus="search(input);"
ng-keyup="search(input)" rows="10" cols="50" tabindex="0">
</textarea>
<div>
<ul ng-if="shouldSelect" id="dataList">
<li ng-repeat="f in func | filter:searchField"
ng-click="typeSelected(f)"> {{f}} </li>
</ul>
<ul ng-if="shouldShowSubType">
<li ng-repeat="f in selectedSubType"
ng-click="subTypeSelected(f)"> {{f}} </li>
</ul>
</div>
</div>
因为ul没有得到关注。如果我将ul
更改为select
,我的点击功能将不起作用。您可以在文本区域中使用(keydown.ArrowDown)=“onDown($event)
,还可以在onDown
功能中编写进一步的逻辑
$('#txtArea').keypress(function(event){
if(event.keyCode == 40)
{
document.getElementById("dataList").focus();
}
});
<textarea id="txtArea" ng-model="input"
ng-change="handleOnChange(input);getSearchField(input);"
ng-click="search(input)" ng-focus="search(input);"
(keydown.ArrowDown)="onDown($event)" rows="10" cols="50" tabindex="0">
调用typeSelected()时,获取当前值并在
$scope.selecteddata
中进行设置,然后在html中使用该set变量,如{{selecteddata}}
。您是否尝试过此流?单击li时调用typeSelected(),其工作正常。我的问题是需要使用向下键选择li。(keydown.ArrowDown)=“onDown($event)”不工作您使用的是angular(angular 1或angular 2+)?angular JS 1.3x的哪个版本
onDown(event){
console.log(event.srcElement.value);
}