1

IE(7,8,9)にdivがあり<div contenteditable="true"></div>ます。次に、ボタンをクリックして、document.execCommand('insertImage')メソッドを使用して画像を挿入します。次に、画像が挿入されました。今まで問題ありません。ただし、挿入された画像はサイズ変更可能なハンドラーで選択されます。選択をキャンセルして、画像の後ろに再度フォーカスするにはどうすればよいですか?ありがとう。

$button.click(function(){ document.execCommand("insertImage",false,'url'); });

4

2 に答える 2

5

よりシンプルなコードで更新

これを行うための厄介なコードを次に示します。他のブラウザではとにかく動作するようですので、以下をそのまま使用できます。

デモ: http: //jsfiddle.net/timdown/mr7Ac/6/

コード:

function insertImage() {
    var sel = document.selection;
    if (sel) {
        var textRange = sel.createRange();
        document.execCommand('insertImage', false, "someimage.png");
        textRange.collapse(false);
        textRange.select();
    } else {
        document.execCommand('insertImage', false, "someimage.png");
    }
}
于 2012-07-04T14:04:27.843 に答える
0

次のようなものを試してください(IEのみ):

function insertImage(){
    if(document.selection){
        var sel=document.selection;
        var range=sel.createRange();
        var amount=(document.addEventListener)?2:1;
        document.execCommand('insertImage', false, 'url');
        range.move('character',amount);
        range.select();
    }
    return;
}
于 2012-07-04T15:44:07.433 に答える