加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 在输入焦点上选择文本

发布时间:2020-12-17 09:12:52 所属栏目:安全 来源:网络整理
导读:我有一个文本输入。当输入接收焦点时,我想选择输入中的文本。 使用jQuery我会这样做: input type="text" value="test" / $("input[type=text]").click(function() { $(this).select(); // would select "test" in this example}); 我搜索过周围尝试找到Ang
我有一个文本输入。当输入接收焦点时,我想选择输入中的文本。

使用jQuery我会这样做:

<input type="text" value="test" />
$("input[type=text]").click(function() {
    $(this).select();
    // would select "test" in this example
});

我搜索过周围尝试找到Angular的方式,但我发现的大多数示例是处理一个指令,正在观察一个模态属性的变化。我假设我需要一个指令,正在监视一个接收焦点的输入。我该怎么做?

在Angular中这样做的方法是创建一个自定义指令,为您执行自动选择。
module.directive('selectOnClick',['$window',function ($window) {
    return {
        restrict: 'A',link: function (scope,element,attrs) {
            element.on('click',function () {
                if (!$window.getSelection().toString()) {
                    // Required for mobile Safari
                    this.setSelectionRange(0,this.value.length)
                }
            });
        }
    };
}]);

应用这样的指令:

<input type="text" value="test" select-on-click />

View demo

Update1:??删除了jQuery依赖。

Update2:限制为属性。

Update3:适用于移动Safari。允许选择部分文本(需要IE> 8)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读