下面是我所遇问题的最小工作示例。
我需要从一棵树拖动项目并放到另一棵树上。例如。从“工具箱”到实际的树。
仅当目标树最初为空时才会出现此问题。
在放入目标树之后,我无法在on“select”处理程序中获取相应的树项,这是在drop上触发的。该项目未获得所选(突出显示,着色)状态,实际上无法选择。
如果目标树在开头包含任何单个项目,则没有问题。
有人可以告诉我,如果我错过了什么吗?
$('#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>