Eug*_*ene 5 html javascript css jquery dom
有没有办法创建一个内容可编辑的 div,用户无法选择/突出显示内容但仍然可以输入内容?我想创建一个界面,用户被迫逐键删除和输入内容,而无法通过突出显示进行批量编辑。
我研究了 CSS 中“用户选择”属性的各种形式,它适用于静态内容,但似乎不适用于内容可编辑的元素/输入。
有任何想法吗?
谢谢
如果您可以接受 atextarea而不是 contenteditable div,您可以执行以下操作:
window.onload = function () {
var div = document.getElementById('div');
if (div.attachEvent) {
div.attachEvent('onselectstart', function (e) {
e.returnValue = false;
return false;
});
div.attachEvent('onpaste', function (e) {
e.returnValue = false;
return false;
});
} else {
div.addEventListener('paste', function (e) {
e.preventDefault();
});
div.addEventListener('select', function (e) {
var start = this.selectionStart,
end = this.selectionEnd;
if (this.selectionDirection === 'forward') {
this.setSelectionRange(end, end);
} else {
this.setSelectionRange(start, start);
}
});
}
};
Run Code Online (Sandbox Code Playgroud)
HTML:
<form>
<textarea id="div"></textarea>
</form>
Run Code Online (Sandbox Code Playgroud)
对代码的一些观察:
onselect触发。这就是 HTML 与您的不同的原因。inputtextareaformselectionDirection,这就是为什么 IE 的旧事件处理模型也用于这些浏览器。div也适用于 contenteditable 。编辑
看来我也做了你的“功课”。
| 归档时间: |
|
| 查看次数: |
3035 次 |
| 最近记录: |