Javascript 如何调用不同的事件选择并单击jstree(vakata)
在jstree中,我有两个用于选择和取消选择的函数,我希望它是一个用于单击的事件Javascript 如何调用不同的事件选择并单击jstree(vakata),javascript,jquery,jstree,Javascript,Jquery,Jstree,在jstree中,我有两个用于选择和取消选择的函数,我希望它是一个用于单击的事件 $(function () { $('#tree_folder').on('deselect_node.jstree Event', function (e, data) { var item_id = data.node.id; setPermission(item_id, $role, 1); }); }); $(function () { $('#t
$(function () {
$('#tree_folder').on('deselect_node.jstree Event', function (e, data) {
var item_id = data.node.id;
setPermission(item_id, $role, 1);
});
});
$(function () {
$('#tree_folder').on('select_node.jstree Event', function (e, data) {
var item_id = data.node.id;
setPermission(item_id, $role, 0);
});
});
我使用这两个事件来选择和取消选择,但即使单击一个节点,它们也可以工作。当我单击一个节点(不是复选框)时,它会调用select或deselect事件,并添加或删除对节点的检查。
如何在不选择或取消选择的情况下为jstree上的click event编写函数?在事件处理程序中,您可以检查单击的元素是否是您的复选框 在大div上有一个偶数侦听器,但仅当用户单击div中的li而不是div本身时才执行功能 在您的例子中,听起来您想检查e,看看它是否是复选框,然后才调用setPermission方法,否则什么都不做 JavaScript
function handler(event) {
var target = $(event.target);
if (target.is("li")) {
target.children().toggle();
} else {
//alert('target is not li');
}
}
$("div").click(handler).find("ul ul").hide();
HTML
<div style="padding:100px;background-color:wheat;">
<ul>
<li>item 1
<ul>
<li>sub item 1-a</li>
<li>sub item 1-b</li>
</ul>
</li>
<li>item 2
<ul>
<li>sub item 2-a</li>
<li>sub item 2-b</li>
</ul>
</li>
</ul>
</div>
- 项目1
- 分项目1-a
- 分项目1-b
- 项目2
- 分项目2-a
- 分项2-b