gpt4 book ai didi

javascript - Angularjs:在指令链接中选择和关注元素

转载 作者:行者123 更新时间:2023-11-29 18:10:06 24 4
gpt4 key购买 nike

我正在尝试使用我的自定义指令从一开始就选择并聚焦文本输入字段。

输入字段:

<input type="text" value="Preset Value" select-on-load />

自定义指令:

app.directive('selectOnLoad', function () {
// Linker function
return {
restrict: 'A',
link: function (scope, element, attrs) {
element.focus().select();
}
};

});

但我只收到一个 javscript 错误,指出 focus/select 不是一个函数。我还应该怎么做?

最佳答案

Angular 的 jqLit​​e(jQuery 的内置轻量版)不支持 .focus()

您需要获取实际的 DOM 元素并使用 Javascript 的内置 .focus()

element[0].focus()

(element[0] 从 jqLit​​e 包装器 element 获取 DOM 元素对象)

使用 .select() 如果您尝试选择来自 ng-model 的文本,则有点棘手,因为到 link 函数运行时,ng-model 的值尚未被插值并插入到 DOM 中。

您需要等到摘要周期结束,我看到的常见方法是通过 $timeout:

$timeout(function(){
element[0].select();
});

关于javascript - Angularjs:在指令链接中选择和关注元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28195438/

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