如何在XUL表中双击时禁用展开/折叠

时间:2012-01-18 23:09:17

标签: javascript-events tree firefox-addon xul

我的Firefox扩展中有一个XUL树。当我双击一行时,该行会折叠或展开。如何禁用此行为(以便只能通过单击加号/减号来进行折叠和展开)?我想保留双击其他内容。

我已尝试禁用默认操作和事件传播,如下所示,但这不起作用。事件处理程序已执行但未阻止崩溃。

tree.addEventListener("dblclick", onTreeDoubleClick, true);

onTreeDoubleClick = function(event) {
    event.preventDefault();
    event.stopPropagation();
}

1 个答案:

答案 0 :(得分:0)

树在你做之前得到了事件。 AFAIK提前获得它的唯一方法是在树的父元素上注册捕获事件处理程序:

tree.parentNode.addEventListener("dblclick", onTreeDoubleClick, true);

当然,假设父元素不包含<tree>以外的元素,否则您也会捕获这些元素上的事件 - 但您始终可以将<tree>元素放入它本身就是<box>元素。