Both the button and the div have the same 'onclick' code, yet the execCommand only seems to work on the button. Is there any way I can make it work when pressing the div?
Here's my fiddle: 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>
The Clipboard API can be used instead of execCommand in many cases, but execCommand is still sometimes useful.
The DOM execCommand() method in HTML DOM is used to execute a command specified by the user on the editable selected section. Syntax: document.execCommand( command, showUI, value )
You need to prevent the mousedown
event on your div because it steals the focus:
Updated fiddle
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With