AngularJS – 点击复选框时聚焦输入元素
发布时间:2020-12-17 08:05:08 所属栏目:安全 来源:网络整理
导读:当点击复选框时,是否有更清晰的方式将焦点委派给元素。这是我被黑客攻击的脏的版本: HTML div ng-controller="MyCtrl" input type="checkbox" ng-change="toggled()" input id="name"/div JavaScript的 var myApp = angular.module('myApp',[]);function M
当点击复选框时,是否有更清晰的方式将焦点委派给元素。这是我被黑客攻击的脏的版本:
HTML <div ng-controller="MyCtrl"> <input type="checkbox" ng-change="toggled()"> <input id="name"> </div> JavaScript的 var myApp = angular.module('myApp',[]); function MyCtrl($scope,$timeout) { $scope.value = "Something"; $scope.toggled = function() { console.debug('toggled'); $timeout(function() { $('#name').focus(); },100); } } JSFiddle:http://jsfiddle.net/U4jvE/8/
这个怎么样 ?
plunker
$scope.$watch('isChecked',function(newV){ newV && $('#name').focus(); },true); @asgoth和@Mark Rajcok是正确的。我们应该使用指令。我只是懒惰 这是指令版本。 plunker我认为一个很好的理由使其成为指令,你可以重用这个东西。 所以在你的html中,你可以为不同的集合分配不同的模态 <input type="checkbox" ng-model="isCheckedN"> <input xng-focus='isCheckedN'> directive('xngFocus',function() { return function(scope,element,attrs) { scope.$watch(attrs.xngFocus,function (newValue) { newValue && element.focus(); },true); }; }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |