阻止选择在IE中工作但不在Chrome中工作的文本
Preventing the selection of text working in IE but not in Chrome?
我看到过几篇关于阻止选择文本的不同帖子,但出于某种原因,这段代码阻止了IE中的选择,而不是Chrome中的选择。。我不明白为什么…
<input type="text" class="form-control no-select" name="inputField" placeholder="Select" ng-model="ctrl.ngModelValue">
.no-select {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Chrome/Safari/Opera */
-khtml-user-select: none; /* Konqueror */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE/Edge */
user-select: none;
}
我基本上想防止在输入中突出显示文本(ng模型)。
上面的代码阻止我在IE中选择文本,但出于某种原因,我仍然可以在Chrome中突出显示输入元素中的文本?当涉及到工作时,通常情况是相反的。
有人能告诉我为什么会发生这种情况以及如何解决吗?
谢谢!
好吧,我不知道如何在input
字段中使用css
来解决这个问题,user-select: none
规则将很好地应用于其他标签,如<p>
<div>
等。
这是为您提供的JavaScript
解决方案
请参阅FIDDLE
var inp = document.getElementById('myElement');
inp.addEventListener('select', function() {
this.selectionStart = this.selectionEnd;
}, false);
.no-select {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Chrome/Safari/Opera */
-khtml-user-select: none; /* Konqueror */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* IE/Edge */
user-select: none;
}
<input type="text" id="myElement" class="form-control no-select" name="inputField" placeholder="Select" ng-model="ctrl.ngModelValue">
<p class="no-select">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Itaque quas, illo iste! Obcaecati quisquam, error doloremque, numquam iste, laboriosam possimus nostrum optio aperiam, distinctio quo accusamus cum molestias! Est, at!
</p>
以下是为我解决问题的工作解决方案:禁用Chrome 中的文本选择
window.onload = function() {
var element = document.getElementById('content');
element.onselectstart = function () { return false; } // ie
element.onmousedown = function () { return false; } // mozilla
}
上面指定了一个特定的元素,并禁用了文本的选择。适用于Chrome、IE和Firefox。这在没有任何css的情况下工作。
相关文章:
- JS可以在Chrome中工作,但不能在Firefox中工作
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- Javascript的某些部分在Chrome中不起作用,但在其他浏览器中可以完美工作
- javascript window.open将无法在Chrome控制台上工作
- 如何编写在Chrome和IE中正常工作的JavaScript
- 只有当Javascript控制台在chrome上打开时,Javascript才能工作
- Chrome地理定位在更新后停止工作
- 地理定位无法在chrome中工作
- Json到CSV下载,可以在chrome中工作,但不能在IE浏览器中工作
- prettyPhoto无法在Chrome和IE9中工作
- window.location.htm无法在chrome扩展中工作
- jQuery$.post可以在chrome、safari中工作,但不能在FF中工作(声明成功回调函数未定义)
- Chrome没有加载最新版本的web工作程序脚本(运行缓存版本)
- HTML5视频无法在chrome上工作,在服务器上托管后的IE,mov文件中的视频(quicktime格式)
- 异步加载的SVG过滤器feColorMatrix在Chrome中工作,而不是在Safari或Firefox中
- JQuery 灯箱不工作.Chrome 在显示控制台中报告错误
- 如何使工作 Chrome 扩展程序的未捕获异常处理程序(由于 CORS 保护而不起作用)
- JavaScript表单脚本工作Chrome,但没有其他地方
- 锚标记下载属性不工作:Chrome 35.0.1916.114中的错误
- JQuery&子选择器A>B: 不工作?[Chrome 24,JQmobile]