gpt4 book ai didi

angularjs - 输入自动对焦属性

转载 作者:行者123 更新时间:2023-12-03 10:47:48 25 4
gpt4 key购买 nike

我的代码中有这样的地方:

<input data-ng-disabled="SOME_SCOPE_VARIABLE" />

我也希望能够像这样使用它:
<input data-ng-autofocus="SOME_SCOPE_VARIABLE" />

或者甚至更好,模仿 ng-style 是如何完成的:
<input data-ng-attribute="{autofocus: SOME_SCOPE_VARIABLE}" />

这在当前版本的 AngularJS 中是否存在?我注意到在代码中有一个 BOOLEAN_ATTR 可以获取 AngularJS 支持的所有属性。我不想因为害怕更改版本而忘记更新而修改它。

最佳答案

更新 :AngularJS 现在有一个 ngFocus 评估焦点表达式的指令,但为了完整起见,我在这里提到它。

当前版本的 AngularJS 没有 focus 指令,但它在路线图中。巧合的是,我们是talking about this在昨天的邮件列表中,我想出了这个:

angular.module('ng').directive('ngFocus', function($timeout) {
return {
link: function ( scope, element, attrs ) {
scope.$watch( attrs.ngFocus, function ( val ) {
if ( angular.isDefined( val ) && val ) {
$timeout( function () { element[0].focus(); } );
}
}, true);

element.bind('blur', function () {
if ( angular.isDefined( attrs.ngFocusLost ) ) {
scope.$apply( attrs.ngFocusLost );

}
});
}
};
});

根据您的要求,它可以处理范围变量:

<input type="text" ng-focus="isFocused" ng-focus-lost="loseFocus()">

这是一个 fiddle : http://jsfiddle.net/ANfJZ/39/

关于angularjs - 输入自动对焦属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14859266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com