jquery - 禁止用户在输入中选择文本

标签 jquery css

我承认我有点困惑为什么这不起作用。

我有一个我正在屏蔽的输入,它工作得很好,但似乎如果你选择文本,它就会“揭示”真正的值(value)。

为了解决这个问题,我想禁止用户突出显示输入中的文本。在你说这是糟糕的可用性之前,我只在触摸屏上工作,如果他们点击太多次,这真的只会阻止它突出显示。

我试过

-webkit-user-select: none;  
 -moz-user-select: none;    
 -ms-user-select: none;      
 user-select: none;

在两个输入上,但它仍然想选择。还有其他方法可以做到这一点吗?这是我四处搜索时所能找到的所有内容。

这里有一个可以玩的 fiddle 。 http://jsfiddle.net/gtom9tvL/1/

最佳答案

如果你想这样做,你可以使用 pointer-events: none在较低的输入和 text-indent: -9999px从视口(viewport)中删除未屏蔽的文本。

缺点

  • 输入中没有克拉(尽管我猜这可以用 javascript 模拟)

我会使用:<input class='value' type="password" />这样就无法使用 ctrl + a 选择文本并复制粘贴。

Have a fiddle!

CSS

.num {
    position: relative;
}
.value {
    text-indent: -9999px;
    position: absolute;
    top: 0;
    left: 0;
    background: transparent;
}
.number {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
}

关于jquery - 禁止用户在输入中选择文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25435519/

相关文章:

html - 如何避免div换行显示

css - 如何在没有 Javascript 的情况下居中包裹 float

javascript - 如何减少生产中繁重的 bootstrap css 的使用?

javascript - Odoo 网络客户端。无法使用 jquery 选择器选择 html 元素

javascript - 如何在 codeigniter 中使用 ajax 在 View 中显示消息并替换 div?

javascript - 使用 jQuery/JS,如何将此字符串转换为 2 个数组?

javascript - 表格中的自动最大高度表格

html - 雪花表情符号未在浏览器上正确显示

jquery - 如何使用 jQuery 克隆带有日期选择器的表行

html - 将鼠标悬停在文本上时难以更改文本颜色