按钮和div都有相同的'onclick'代码,但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 :(得分:22)
您需要阻止div上的mousedown
事件,因为它会破坏焦点:
答案 1 :(得分:1)
看到这个小提琴: - http://jsfiddle.net/ZzL8y/4/
这不是完整的答案,但这些链接可能对您有所帮助: -
1&GT; set execcommand just for a div
2 - ; select all text in contenteditable div when it focus/click
答案 2 :(得分:0)
对于Firefox,必须在execCommand之前设置contenteditable = true。
对于IE,没有必要。