以下は、私が抱えている問題の最小の実例です。
あるツリーからアイテムをドラッグして別のツリーにドロップする必要があります。たとえば、「ツールボックス」から実際のツリーまで。
この問題は、ターゲット ツリーが最初に空である場合にのみ発生します。
ターゲット ツリーにドロップした後、ドロップ時にトリガーされる on 'select' ハンドラーで対応するツリー アイテムを取得できません。アイテムは選択された (強調表示され、色付けされた) 状態にならず、実際には選択できません。
ターゲット ツリーの先頭に単一のアイテムが含まれていても問題はありません。
私がsmthを見逃しているかどうか誰かがアドバイスできますか?
$('#jqxTree').jqxTree({
height: '300px',
width: '300px',
allowDrop: true
});
$('#btnTree').jqxTree({
height: '50px',
width: '100px',
allowDrag: true
});
$('#jqxTree').on('select', function (event) {
var args = event.args;
console.log(args.element);
var item = $('#jqxTree').jqxTree('getItem', args.element);
console.log(item); // null
item = $('#btnTree').jqxTree('getItem', args.element);
console.log(item); // null
});
<link href="http://www.jqwidgets.com/jquery-widgets-demo/jqwidgets/styles/jqx.base.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://www.jqwidgets.com/jquery-widgets-demo/jqwidgets/jqxcore.js"></script>
<script src="http://www.jqwidgets.com/jquery-widgets-demo/jqwidgets/jqxdragdrop.js"></script>
<script src="http://www.jqwidgets.com/jquery-widgets-demo/jqwidgets/jqxbuttons.js"></script>
<script src="http://www.jqwidgets.com/jquery-widgets-demo/jqwidgets/jqxscrollbar.js"></script>
<script src="http://www.jqwidgets.com/jquery-widgets-demo/jqwidgets/jqxpanel.js"></script>
<script src="http://www.jqwidgets.com/jquery-widgets-demo/jqwidgets/jqxtree.js"></script>
<div id='btnTree'>
<ul>
<li>Drag Me</li>
</ul>
</div>
<br/>
<br/>
<br/>
<br/>
<br/>
<div id='jqxTree'>
<ul>
<!-- <li>Single Item</li> --> <!-- try uncommenting this line, so the target tree has some nodes (as opposed to being empty) -->
<!-- more items can be here -->
</ul>
</div>