2013-07-19 4 views
1

execCommand("insertorderedlist")과 같이 div에 DOM을 삽입하려면 wysiwyg 편집기에서 execCommand을 사용합니다.`execCommand ("insertorderedlist")`를 어떻게 사용합니까?

데모를 쓰려고 시도했지만 실행할 수 없습니다. 코드는 간단합니다 :

document.execCommand("insertorderedlist"); 

그러나 "Run JS"버튼을 클릭하면 아무 것도 삽입하지 않습니다. 나는 무엇이든 놓친다? http://jsbin.com/olalaf/1/edit

답변

2

가 여기에 데모 날에 의해 고정 된 것 : http://jsbin.com/olalaf/2/edit

당신은 true로 설정 contenteditable 속성을 가진 요소를 필요로 여기

라이브 데모입니다. 이 속성을 사용하면이 요소 내부에서 편집 할 수 있습니다. 모든 브라우저가이를 지원하지만 매우 가난하고 버그가 많은 방법입니다.

두 번째 부분이 올바른 방법으로 document.execCommand을 실행하므로 선택 항목이 손실되지 않습니다. 그래서 내 자신의 버튼을 추가했습니다. 나는 그것이 다른 프레임에 있기 때문에 Run with JS이 작동하지 않는다고 생각합니다. 그래서 명령이 실행되기 전에 선택이 손실됩니다.

+0

감사합니다. 나는 그것이 FF로만 작동한다는 것을 알았지 만, 크롬/사파리로 작동하지 않았고, 똑같은가요? – Freewind

+0

나를 위해 그것은 크롬과 FF에서 작동합니다. 아마도이 버전은 더 잘 작동합니다 : http://jsbin.com/olalaf/4/edit - 'mousedown'을 듣고 버튼을 누른 상태로 포커스를 이동하지 못하게합니다. – Reinmar

+0

크롬에서 "JS로 실행"을 먼저 클릭하면 제대로 작동합니다. 내 크롬이 OS X에 있습니다. – Freewind