【发布时间】:2013-01-27 14:15:03
【问题描述】:
通常当点击 TinyMCE(或任何其他编辑器)中的文本时,插入符号会放置在那里和/或开始文本选择。
我不希望这样的事情发生。我希望当单击可编辑的文本区域时,什么都不应该发生。我该怎么做?
在我的设置函数中,我有这个代码,这是对上一个问题的跟进,它确保一旦打开 TinyMCE,实例中的所有文本都被选中:
ed.onInit.add(function(ed, evt) {
var range = ed.selection.dom.createRng();
range.setStartBefore(ed.getBody().firstChild);
range.setEndAfter(ed.getBody().lastChild);
ed.selection.setRng(range);
});
既然选择了所有文本,我不希望用户能够取消选择它或选择文本中的任何其他范围。所以我希望用户的点击什么都不做。我尝试在相同的设置函数中添加它:
ed.onClick.add(function(ed, evt) {
console.debug('Editor was clicked: ' + evt.target.nodeName);
evt.preventDefault();
evt.stopPropagation();
});
但是当控制台消息出现时,单击仍然取消选择已选择的文本范围。我怎样才能确保点击什么都不做?或者至少它们不会影响已经选择的文本范围?
【问题讨论】:
-
尝试否定
mousedown事件而不是之后触发的click事件。 -
就是这样,它成功了! :) 但是我无法选择您的答案,因为您写的是评论,而不是答案。如果你回答问题,我会选择它。
标签: javascript click tinymce preventdefault