javascript – 禁用textarea中的文本选择

前端之家收集整理的这篇文章主要介绍了javascript – 禁用textarea中的文本选择前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要找到一种方法来阻止用户在textarea中选择文本.
目标是创建一个用于在textarea中输入文本的自定义键盘.我希望用户能够单击textarea来设置插入位置(现在已经在工作).但是,我不希望用户能够选择插入文本的某些部分,或者至少应该没有这种可视指示.
我已经尝试过一些东西,比如下面的CSS,但没有成功.
textarea {
    -moz-user-select: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    user-select: none;
}

解决方案可以是CSS和/或JavaScript,只需在Google Chrome中使用即可.
谢谢!

更新:

禁用textarea对我不起作用.正如我所提到的,我希望用户能够通过单击位置将插入符号放置在某些位置.如果我要禁用textarea,这个功能就会丢失.

@OPUS:该解决方案不适用于textareas.
@andi:没错
@Pointy:可以阻止键盘事件.用户不必使用键盘输入文本,而是使用我在页面上提供的自定义键盘.将其与屏幕键盘进行比较.
@downvoters:这个问题有什么不好的?

解决方法

“只读”属性和“用户选择”属性的组合有效.

第二个规则禁用select上突出显示的边框,这是一种视觉选择.

“不可选择”的属性似乎是Opera / IE特有的.

风格:

.noselect {
   cursor: default;
   -webkit-user-select: none;
   -webkit-touch-callout: none;
   -khtml-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   -o-user-select: none;
}

.noselect:focus {
   outline: none;
}

标记

<textarea class="noselect" readonly="readonly" unselectable="on"></textarea>

只读可能比禁用更合适(在点击事件时,仍然可以使用JS切换).

原文链接:https://www.f2er.com/js/156687.html

猜你在找的JavaScript相关文章