我必须限制用户在textarea中删除特定HTML标记中的这些单词(考虑我有自定义标记)。
<div>
You can Delete Me
<t>
DontDeleteMe
</t>
</div>
可以删除不在t
标记中的字词
我尝试了一些没有任何帮助的逻辑。
是否有可能获得 ctrl + del 关键字的选择范围?
case 46:
{ //DEL
if (range.startOffset == startNode.getLength()) {
var ancestor = endNode.$;
while (ancestor != null) {
var next = ancestor.nextSibling;
if (next != null) {
console.log("Next = " + next);
var node = new CKEDITOR.dom.node(next);
cancelEvent = node.isReadOnly();
break;
}
ancestor = ancestor.parentNode;
}
}
break;
}
答案 0 :(得分:1)
不幸的是,当您通过示例准确描述所需内容时,您的描述非常糟糕,因此没有人真正知道您希望在文本中发生什么。
这是我刚刚制作的Fiddle。
它注意到selected text
和第一个突出显示的文本容器的ID
。
选择文字并按
CTRL + Del
。
答案 1 :(得分:0)
如果您使用文本区域,则可以让用户删除它,然后再将其复制到内部。但是,如果用户不应该干扰它,为什么要使用文本区域?我误解了你想要的功能吗?
$(document).on('keydown', function(evt) {
if (evt.ctrlKey && evt.keyCode == 46) { // Ctrl + Del key pressed
if (evt.target.id == 'customTextArea') { // Custom tag selected
$('#customTextArea').text('Don't delete me!'); // Copy old text in text area
}
}
});