입력 할 때 특정 단어를 스팬 태그로 감싸는 tinyMCE 편집기 용 함수를 작성하려고하는데, 지금까지이 코드를 사용하고 있습니다. TinyMCE를 인스턴스 초기화 init_instance_callback
옵션 동안 :작은 MCE 편집기에서 단어의 끝에 캐럿을 이동하십시오.
function(ed) {
ed.on('keyup', function() {
var editor = tinyMCE.get('content'),
regex = new RegExp('test|abc', 'gi'),
oldContent = editor.getContent(),
newContent = oldContent.replace(regex, '<span style="background-color: yellow;">$&</span>');
// Save cursor position
var marker = editor.selection.getBookmark(2);
// Set new content in editor
editor.setContent(newContent);
// Move cursor to where it was
editor.selection.moveToBookmark(marker);
});
}
을 다음 동작하는 예제와 바이올린입니다 : 당신이 (그러나 바로이 일치하는 단어 중 하나를 입력으로 입력하는 동안 http://fiddle.tinymce.com/Jjeaab
그것은 잘 작동 이 경우 "테스트"또는 "abc") 캐럿이 단어의 시작 부분으로 이동하면 나는 이것이 여분의 문자를 스파에 추가하기 때문에 이것이라고 생각합니다 n 요소가 없으므로 단어가 줄 바꿈 된 후 북마크가 제대로 설정되지 않습니다.이 문제를 해결할 수있는 방법이 있습니까?