Javascript 在动态列表上设置焦点(Angularjs方式)
我已经输入了当用户按“/”时“validaTag”的变化值(比如instagram上的#)Javascript 在动态列表上设置焦点(Angularjs方式),javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我已经输入了当用户按“/”时“validaTag”的变化值(比如instagram上的#) <input type="text" name="myAddress" ng-enter="chatCtrl.sendMsg(chatCtrl[tab]); chatCtrl[tab]=''; " ng-click="chatCtrl.getChatTab(tab);" ng-model="chatCtrl[tab]" class="input-ch
<input type="text" name="myAddress" ng-enter="chatCtrl.sendMsg(chatCtrl[tab]); chatCtrl[tab]=''; " ng-click="chatCtrl.getChatTab(tab);" ng-model="chatCtrl[tab]" class="input-chat" style="width: 95%" ng-change="checkkey(chatCtrl[tab])" >
<div ng-hide="!validaTag">
<ul class="list-group tags_chat">
<li class="list-group-item" ng-click="enviarTexto(tag.descricao, tab)" ng-repeat="tag in alltags | filter:hashtag:strict | limitTo : 3" setFocus="$last">
<b >{{tag.tag}}</b> -
{{tag.descricao}}
</li>
</ul>
</div>
</div>
我想在列表的第一个元素上设置焦点,在输入时设置模糊
<input type="text" name="myAddress" ng-enter="chatCtrl.sendMsg(chatCtrl[tab]); chatCtrl[tab]=''; " ng-click="chatCtrl.getChatTab(tab);" ng-model="chatCtrl[tab]" class="input-chat" style="width: 95%" ng-change="checkkey(chatCtrl[tab])" >
<div ng-hide="!validaTag">
<ul class="list-group tags_chat">
<li class="list-group-item" ng-click="enviarTexto(tag.descricao, tab)" ng-repeat="tag in alltags | filter:hashtag:strict | limitTo : 3" setFocus="$last">
<b >{{tag.tag}}</b> -
{{tag.descricao}}
</li>
</ul>
</div>
</div>
型号
<input type="text" name="myAddress" ng-enter="chatCtrl.sendMsg(chatCtrl[tab]); chatCtrl[tab]=''; " ng-click="chatCtrl.getChatTab(tab);" ng-model="chatCtrl[tab]" class="input-chat" style="width: 95%" ng-change="checkkey(chatCtrl[tab])" >
<div ng-hide="!validaTag">
<ul class="list-group tags_chat">
<li class="list-group-item" ng-click="enviarTexto(tag.descricao, tab)" ng-repeat="tag in alltags | filter:hashtag:strict | limitTo : 3" setFocus="$last">
<b >{{tag.tag}}</b> -
{{tag.descricao}}
</li>
</ul>
</div>
</div>
如果您正在显示的模板是指令模板,并且如果您在指令中只出现了一次,那么类似这样的操作就可以了
<input type="text" name="myAddress" ng-enter="chatCtrl.sendMsg(chatCtrl[tab]); chatCtrl[tab]=''; " ng-click="chatCtrl.getChatTab(tab);" ng-model="chatCtrl[tab]" class="input-chat" style="width: 95%" ng-change="checkkey(chatCtrl[tab])" >
<div ng-hide="!validaTag">
<ul class="list-group tags_chat">
<li class="list-group-item" ng-click="enviarTexto(tag.descricao, tab)" ng-repeat="tag in alltags | filter:hashtag:strict | limitTo : 3" setFocus="$last">
<b >{{tag.tag}}</b> -
{{tag.descricao}}
</li>
</ul>
</div>
</div>
angular.element(element.find('li')[0]).focus();
如果这不起作用,您可能需要为此实现您自己的指令。如果您正在显示的模板是指令模板,并且如果您在指令中只出现一次,那么类似的操作应该可以实现
<input type="text" name="myAddress" ng-enter="chatCtrl.sendMsg(chatCtrl[tab]); chatCtrl[tab]=''; " ng-click="chatCtrl.getChatTab(tab);" ng-model="chatCtrl[tab]" class="input-chat" style="width: 95%" ng-change="checkkey(chatCtrl[tab])" >
<div ng-hide="!validaTag">
<ul class="list-group tags_chat">
<li class="list-group-item" ng-click="enviarTexto(tag.descricao, tab)" ng-repeat="tag in alltags | filter:hashtag:strict | limitTo : 3" setFocus="$last">
<b >{{tag.tag}}</b> -
{{tag.descricao}}
</li>
</ul>
</div>
</div>
angular.element(element.find('li')[0]).focus();
如果这不起作用,您可能需要为此执行自己的指令
<input type="text" name="myAddress" ng-enter="chatCtrl.sendMsg(chatCtrl[tab]); chatCtrl[tab]=''; " ng-click="chatCtrl.getChatTab(tab);" ng-model="chatCtrl[tab]" class="input-chat" style="width: 95%" ng-change="checkkey(chatCtrl[tab])" >
<div ng-hide="!validaTag">
<ul class="list-group tags_chat">
<li class="list-group-item" ng-click="enviarTexto(tag.descricao, tab)" ng-repeat="tag in alltags | filter:hashtag:strict | limitTo : 3" setFocus="$last">
<b >{{tag.tag}}</b> -
{{tag.descricao}}
</li>
</ul>
</div>
</div>