如何监听jstree上的双击?

发布于 2024-11-06 01:13:35 字数 104 浏览 5 评论 0原文

如何为 jstree 对象上的双击事件编写侦听器? (例如,我想双击树节点并将其锚点的 href 值粘贴到表单中某处的 input 字段中。)

How would I write a listener for a double-click event on a jstree object? (For example, I'd like to double-click on a tree node and paste its anchor's href value into an input field in a form somewhere.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

世界和平 2024-11-13 01:13:35

一年前我就用过类似的方法,我不知道当前的 jstree 版本是否有任何变化:

jstree.bind("dblclick.jstree", function (event) {
   var node = $(event.target).closest("li");
   var data = node.data("jstree");
   // Do some action
});

node : 包含正在单击的 li。

数据:包含元数据。

I have used something like this way back a year ago, i don't know if there's any change in the current jstree version :

jstree.bind("dblclick.jstree", function (event) {
   var node = $(event.target).closest("li");
   var data = node.data("jstree");
   // Do some action
});

node : Contains the li that is being clicked.

data : Contains the metadata.

优雅的叶子 2024-11-13 01:13:35

如果您单击 jstree div 上的任意位置,Nirmal 的解决方案就会起作用。我只想在节点本身上启用双击,而不是在右侧的空白处启用双击。稍微改变解决方案可以实现这一点:

$('#jstree-div a').live('dblclick',function (e) {
    var node = $(e.target).closest("li");
    var type = node.attr('rel');
    var item = node[0].id;

    // do stuff...
});

不确定为什么“rel”和“id”属性位于结果节点中的不同位置,但它有效;)

Nirmal's solution works if you click anywhere on the jstree div. I wanted to enable double click only on the nodes themselves and not, for example, on the whitespace to the right. changing the solution a little enabled this:

$('#jstree-div a').live('dblclick',function (e) {
    var node = $(e.target).closest("li");
    var type = node.attr('rel');
    var item = node[0].id;

    // do stuff...
});

Not sure why the 'rel' and the 'id' attributes are in different places in the resulting node, but it works ;)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文