0

WYSIWYG エディターに問題があります。FF では機能しますが、Chrome では機能しません :(

コードは次のとおりです。

    $.fn.textEdit = function(){
        return this.each(function(){
            var $this = $(this), $div = $('<div class="textEdit"></div>');

                var $buttonObserve = function(cmd,b,val){

                    document.execCommand('styleWithCSS', 0, false);
                    document.execCommand(cmd, b||false, val||null);

                };
                $this.before($div);
                $this.attr({contentEditable:true})

                $($div).append(
                        $('<div/>').addClass('textEditBold').text('F').attr('title','Fett')
                            .click(function(){ $buttonObserve('bold') })
                    ).append(
                        $('<div/>').addClass('textEditItalics').text('K').attr('title','Kursiv')
                            .click(function(){ $buttonObserve('italic') })
                    ).append(
                        $('<div/>').addClass('textEditUnderline transparent').text('_').attr('title','Unterstrich').css('background', 'url(data:image/gif;base64,R0lGODlhFgAWAKECAAAAAF9vj////////yH5BAEAAAIALAAAAAAWABYAAAIrlI+py+0Po5zUgAsEzvEeL4Ea15EiJJ5PSqJmuwKBEKgxVuXWtun+DwxCCgA7) no-repeat 0 1px')
                            .click(function(){ $buttonObserve('underline') })
                    ).append(
                        $('<div/>').addClass('delete').text('Deactivate-Edit').attr('title','Stop-Edit')
                            .click(function(){  $this.parents('#page2').find('.editable').removeClass('editable').removeAttr('contentEditable');
                                                $this.parents('#page2').find('.textEdit').remove('.textEdit'); })
                );

        });



};

この関数は、ユーザーが p、div 要素などをクリックするとアクティブになり、テキストを作成するために 4 つのボタンが作成されます: ボールド、イタリック、下線、またはボタンの削除。

問題は、テキストを選択してボタンを押しても何も起こらず、削除ボタンだけが機能することです。

選択したテキストが Chrome で受け入れられないようです。

皆さんが私を助けてくれることを願っています!:)

4

1 に答える 1

0

execCommand()サポートが Webkit から削除された ようです。QuirksModeは、サポート マトリックスに新しいブラウザーをリストしていません。

https://groups.google.com/a/chromium.org/forum/?fromgroups=#!topic/chromium-extensions/QytGD5gCREY

選択したテキストを取得するには、このメソッドに従うことができます

contenteditable要素で選択したテキストをhtmlに置き換える方法は?

于 2013-03-05T10:21:42.760 に答える