1
어떻게 CkEditor의 콘텐츠 영역에 텍스트 입력 필드를 집중 시키시겠습니까? $(inputselector).focus()
전화가 작동하지 않는 것 같습니다. 커서는 원래 있던 위치에 있습니다.CkEditor에서 입력 포커스
어떻게 CkEditor의 콘텐츠 영역에 텍스트 입력 필드를 집중 시키시겠습니까? $(inputselector).focus()
전화가 작동하지 않는 것 같습니다. 커서는 원래 있던 위치에 있습니다.CkEditor에서 입력 포커스
Ctrl+Shift+I
충돌 얻을아래의 모든 줄을 복사하여 붙여 넣기하십시오. Enter
var tgbody = $('iframe')[0].contentDocument.getElementsByTagName('body')[0];
var target = $(tgbody).find('> *')[0];
var wildin = $("<input type='text' name='cfld' id='cfld' value='some text' />");
$(tgbody).removeAttr('contenteditable');
$($('iframe')[0].contentDocument.getElementsByTagName('body')[0]).removeAttr('contenteditable');
wildin.appendTo(target);
/// O.o 0.º
wildin.focus();
다시 Ctrl+Shift+I
을 누르십시오. 콘텐츠 영역 내에 새로운 입력이 있고 커서가 그 안에 있음을 알 수 있습니다.
이 방법은 크롬에서는 작동하지만 파이어 폭스에서는 작동하지 않는 것처럼 보입니다. 나는 파이어 폭스에서 테스트를 해왔으므로 그것이 작동하지 않는 이유이다. –
나는 확실하지 않다 그러나 나는 CKEditor 그 입력을 포함하는 iframe이있다 생각합니다. '$ (inputselector)'가 요소의 콜렉션을 반환하는지 확인하십시오. 그렇다면 이벤트 취소 등의 작업을해야 할 수도 있습니다. –
입력에 따라 트리거되는 이벤트를 선택하지만 이벤트를 명시 적으로 트리거하더라도 요소 포커스를 얻을 수 없습니다. 이 경우에는 focus()가 실제로 커서를 움직이지 않는다고 생각합니다. –
브라우저 동작입니다. 'contenteditable' 속성을 꺼내면 잘 작동합니다. '$ (inputselector) .closest ('body'). removeAttr ('contenteditable'); 또는'contenteditable = "true"'가 어디에 있든. –