8

ボタンと 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>

</p>

4

3 に答える 3

28

mousedownフォーカスを奪うため、divでのイベントを防ぐ必要があります。

更新されたフィドル

于 2012-09-21T06:51:59.497 に答える
1

このフィドルを参照してください:- http://jsfiddle.net/ZzL8y/4/
これは完全な答えではありませんが、これらのリンクが役立つ場合があります:-

1> div だけに execcommand を設定する

2>フォーカス/クリック時にcontenteditable div内のすべてのテキストを選択します

于 2012-09-21T06:46:16.270 に答える
0

Firefox の場合、execCommand の前に contenteditable = true を設定する必要があります。

IE の場合は必要ありません。

于 2018-03-07T21:18:16.897 に答える