防止文本在 contenteditable 元素中突出显示时被删除
Prevent text from being erased when it is highlighted in contenteditable element
在一个 contenteditable h1
标签中,我试图在突出显示文本时触发一个事件,并且您按下回车键时没有删除文本并插入新行。
我正在尝试通过以下 javascript 实现此目的:
document.bind('keyup', function(ev) {
if(ev.keyCode == 13) {
//do something instead of erasing text
ev.preventDefault();
}
}
但是突出显示的文本似乎仍然有焦点,当我按 enter 时删除并插入一个新行。
有什么方法可以防止文本高亮时出现这种情况?
keyup
事件来不及了。改为使用 keydown
事件。此外,document.bind
不是正确的语法,会引发错误。您需要 addEventListener()
而不是:
document.addEventListener('keydown', function(ev) {
if(ev.keyCode == 13) {
//do something instead of erasing text
ev.preventDefault();
}
}, false);
在一个 contenteditable h1
标签中,我试图在突出显示文本时触发一个事件,并且您按下回车键时没有删除文本并插入新行。
我正在尝试通过以下 javascript 实现此目的:
document.bind('keyup', function(ev) {
if(ev.keyCode == 13) {
//do something instead of erasing text
ev.preventDefault();
}
}
但是突出显示的文本似乎仍然有焦点,当我按 enter 时删除并插入一个新行。
有什么方法可以防止文本高亮时出现这种情况?
keyup
事件来不及了。改为使用 keydown
事件。此外,document.bind
不是正确的语法,会引发错误。您需要 addEventListener()
而不是:
document.addEventListener('keydown', function(ev) {
if(ev.keyCode == 13) {
//do something instead of erasing text
ev.preventDefault();
}
}, false);