【发布时间】:2017-02-15 23:00:29
【问题描述】:
我在我正在创建的 web 应用程序中使用 codemirror,并且我在页面上有几个编辑器。还有撤消和重做按钮,它们确实有效。但是,我只能将一个编辑器设置为撤消,除非我使用 if 语句来确定哪个是焦点,然后将撤消或重做功能应用于其相应的文本框。我尝试了 jQuery 和 JavaScript 的一些变体,但无济于事。这是我试图开始工作的代码块之一。保存 codemirror 设置的实际变量称为“codeeditor1”,“#editor1”是文本框的 id。
if ($("#editor1").is(':focus')) {
undo.addEventListener('click', function() {
codeeditor1.undo();
}, false);
redo.addEventListener('click', function() {
codeeditor1.redo();
}, false);
}
我也根据方法 "cm.hasFocus()" = boolean 的文档尝试了这个。
if (codeeditor1.hasFocus() == true) {
undo.addEventListener('click', function() {
codeeditor1.undo();
}, false);
redo.addEventListener('click', function() {
codeeditor1.redo();
}, false);
}
为了逻辑代码放置,我现在也尝试了这个,但仍然没有运气。可能是codemirror方法的bug?
undo.addEventListener('click', function() {
if (codeeditor1.hasFocus() == true) {
codeeditor1.undo();
}
}, false);
redo.addEventListener('click', function() {
if (codeeditor1.hasFocus() == true) {
codeeditor1.redo();
}
}, false);
【问题讨论】:
标签: javascript jquery html css codemirror