0

コードで kendo コンテキスト メニューを使用しています。コンテキスト メニューの初期化後、ターゲット要素を削除し、再度ターゲットを DOM コンテキスト メニューに追加すると、動作しません。この問題の解決方法。

HTML

<ul id="menu">
   <li>delete</li>       
</ul>
<div class="parent" id="ParentDiv" style="width: 200px; height: 200px;">            
</div>

脚本

 $(".parent").append('<div><div> <div class="child">item 1</div><div class="child">item 2</div><div class="child">item 3</div></div></div>');
 $("#menu").kendoContextMenu({
     orientation: "vertical",
     target: ".child",
  });
 $(".parent").empty();
 $(".parent").append('<div><div> <div class="child">item 1</div><div class="child">item 2</div><div class="child">item 3</div></div></div>');
4

2 に答える 2

1

スタンドアロンのコンテキスト メニュー項目を作成し、指定したアンカーで開くことができます。これを行うには、alignToAnchorオプションを使用し、最初のパラメーターとしてアンカーを指定して開くメソッドを使用する必要があります。

異なる要素で表示するたびにコンテキスト メニューを再作成する必要はありません。異なるアンカーで開くだけです。

<div id="target">Target</div>
<ul id="context-menu">
    <li id="Item1">Item 1
        <ul>
            <li>Sub Item 1</li>
            <li>Sub Item 2</li>
            <li>Sub Item 3</li>
        </ul>
    </li>
<li>Item 2
    <ul>
            <li>Sub Item 1</li>
            <li>Sub Item 2</li>
            <li>Sub Item 3</li>
        </ul>
    </li>
</ul>
<script>
// initialize the ContextMenu
$("#context-menu").kendoContextMenu({
    target: "#target",
    alignToAnchor: true
});
// get a reference to the ContextMenu widget
var contextMenu = $("#context-menu").data("kendoContextMenu");
// open the ContextMenu at 100px, 100px
contextMenu.open($('#target'));

于 2014-10-30T14:25:47.103 に答える