3

以下のように定義された Kendo Editor があります。

 @(Html.Kendo().Editor()
          .Name("editor")
          .Tag("div")
          .Tools(tools => tools
                .Clear()
                .Bold().Italic().Underline().Strikethrough()
                .JustifyLeft().JustifyCenter().JustifyRight().JustifyFull()
                .CreateLink().Unlink()
                .InsertImage()
                .TableEditing()
                .FontColor().BackColor()
          )
          .Value(@<text>
             <p> You are inside the editor. And in the editor there are some
                 anchor tags. 
             </p>

このエディターを読み取り専用にし、エディター内のアンカー タグをクリック可能にしたいと考えています。

この動作を実現するために、以下の Javascript コードを書きました。また、Google検索の同様の投稿やstackoverflowでも提供されている回答に従いました。しかし、どれも機能しておらず、エディターは読み取り専用ではありません。まだ編集できます。

以下は私が試したコードです:

<script>
    var editor = $('#editor').data("kendoEditor"),
        editorBody = $(editor.body);

    // make readonly
    editorBody.removeAttr("contenteditable").find("a").on("click.readonly", false);

</script>  

どこが間違っているのか、どうすればこの動作を達成できるのかを提案してください。

あなたの助けのためのTIA!

4

1 に答える 1

4

次のスニペットは、Kendo HTML エディターを読み取り専用にします。

var editor = $("#editor").data().kendoEditor;
var editorBody = $(editor.body)
editorBody.attr("contenteditable", false);

または、簡潔にする必要がある場合は、すべてを 1 行にまとめることができます。

$($("#editor").data().kendoEditor.body).attr("contenteditable", false);

エディターを読み取り/書き込みと読み取り専用に切り替える必要がある場合は、このスニペットを独自の小さな関数でラップし、切り替えに使用するボタン/アンカー/などのクリック イベントに直接バインドすることをお勧めします。振る舞い。

Kendo UI v2015.3.1111でこの機能をテストしました。古いバージョンの API の YMMV。

于 2016-11-12T01:01:32.297 に答える