나는 만들고있는 webapp에서 codemirror를 사용하고 있으며 페이지에 여러 편집자가 있습니다. 실행 취소 및 다시 실행 버튼도 있으며 작동합니다. 그러나 if 문을 사용하여 포커스를 결정한 다음 해당 텍스트 상자에 실행 취소 또는 다시 실행 기능을 적용하지 않으면 실행 취소 할 편집기를 하나만 설정할 수 있습니다. 나는 jQuery와 JavaScript 모두에서 약간의 변형을 시도했지만 아무 소용이 없다. 이것은 내가 일하려고하는 코드 블록 중 하나입니다. codemirror 설정을 저장하는 실제 변수는 "codeeditor1", "# editor1"은 텍스트 상자의 ID입니다.codemirror 편집기의 포커스를 감지합니다.
if ($("#editor1").is(':focus')) {
undo.addEventListener('click', function() {
codeeditor1.undo();
}, false);
redo.addEventListener('click', function() {
codeeditor1.redo();
}, false);
}
"cm.hasFocus()"= 부울의 문서에 따라이 방법을 시도해 보았습니다.
if (codeeditor1.hasFocus() == true) {
undo.addEventListener('click', function() {
codeeditor1.undo();
}, false);
redo.addEventListener('click', function() {
codeeditor1.redo();
}, false);
}
나는 논리적 코드 배치를 위해 이것을 시도했지만 아직까지는 아무런 운이 없다. 아마도 이것은 코드미어 방법의 버그일까요?
undo.addEventListener('click', function() {
if (codeeditor1.hasFocus() == true) {
codeeditor1.undo();
}
}, false);
redo.addEventListener('click', function() {
if (codeeditor1.hasFocus() == true) {
codeeditor1.redo();
}
}, false);
답변 해 주셔서 감사합니다. 시도했지만 아직 등록하지 않은 것 같습니다. 내가 설명서를 횡단하고 거기에 "cm.hasFocus()"메서드가 있지만 바로 얻을 수없는 것 같습니다. – AlphaDaemon