2012-09-21 11 views
6

Tanto el botón como el div tienen el mismo código 'onclick', sin embargo, el comando exec solo parece funcionar en el botón. ¿Hay alguna manera de que pueda hacer que funcione al presionar el div?¿Por qué no funciona el document.execCommand cuando hago clic en un div?

Aquí es mi violín: http://jsfiddle.net/foreyez/ZzL8y/

<button onclick="document.execCommand('bold',false,null);">Bold</button> 
<div onclick="document.execCommand('bold',false,null);" style='border:1px solid black;width:50px;'>Bold</div> 

<div id='input' contenteditable='true'> 
    select some of this text and then hit one of the buttons above 
</div> 

+0

Supongo que no funciona con el div porque pierde el enfoque y la selección. Con el botón se mantiene el enfoque. – DeadAlready

Respuesta

21

Debe impedir que el evento mousedown en su div porque roba el foco:

Updated fiddle

+0

¡konstantin brillante! – Anthony

0

Para Firefox, es necesario establecer contenteditable = true antes execCommand.

Para IE no es necesario.

Cuestiones relacionadas