gpt4 book ai didi

javascript - 将 onRightClick 添加到 JavaScript 库 Hypertree

转载 作者:行者123 更新时间:2023-11-30 13:03:56 24 4
gpt4 key购买 nike

我目前正在(一个存储库是 here )处理一个 Hypertree 图,我想从 JavaScript InfoVis Toolkit 中使用它.问题如下:我在Hypertree中添加了具体的事件,分别是onClickonRightClick

 Events: {
enable: true,
onClick: function(node, eventInfo, e) {
ht.controller.onComplete();
},
onRightClick: function(node, eventInfo, e) {
ht.controller.onComplete();
},
},

然后我简单地将 veent 处理程序附加到 Hypertree 标签,只需修改 demo-code一点点:

//Attach event handlers and add text to the
//labels. This method is only triggered on label
//creation
onCreateLabel: function(domElement, node){
domElement.innerHTML = node.name;

$jit.util.addEvent(domElement, 'click', function () {
ht.onRightClick(node.id, {
onComplete: function() {
ht.controller.onComplete();
}
});
});


$jit.util.addEvent(domElement, 'rclick', function () {
ht.onClick(node.id, {
onComplete: function() {
ht.controller.onComplete();
}
});
});
},

这很简单。 Hypertree 事件的文档在 Options.Events.js 中.现在我加载页面...我有 left.clicks。但没有右键单击...我希望 RightClicks 移动图形和 onClicks 打开来自 DOM 元素节点的链接。有人可以在这里给我指点吗?

最好的,马吕斯

最佳答案

$jit.util.addEvent(obj, type, fn) 是 obj.addEventListener(type, fn, false) 的快捷方式。所以你正试图绑定(bind)到 'onrclick' 事件。但是javascript中没有这样的事件。为了检测右键单击,您只需将“rclick”替换为“mouseup”,并且在回调中您应该检查按钮是否正确。这是代码:

$jit.util.addEvent(domElement, 'mouseup', function (event) {
// detecting right button
if (event.button != 2) {
return;
}
ht.onClick(node.id, {
onComplete: function() {
ht.controller.onComplete();
}
});
});

此外,您不需要为此目的使用 Options.Events.js,因此您可以删除该代码

关于javascript - 将 onRightClick 添加到 JavaScript 库 Hypertree,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16373134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com