2012-09-21 29 views
6

两个按钮和DIV具有相同的“onClick”代码,但在将execCommand似乎只能在按钮上工作。有什么办法可以使它在按div时工作吗?为什么不document.execCommand工作时,我点击一个div?

这里是我的小提琴: 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

我猜它不适用于div,因为你失去了焦点和选择。用按钮保持焦点。 – DeadAlready

回答

21

您需要防止您的div的mousedown事件,因为它偷焦点:

Updated fiddle

+0

辉煌的konstantin! – Anthony

0

对于Firefox,这是必要的execCommand之前设置CONTENTEDITABLE =真。

对于IE它是没有必要的。

相关问题