2012-01-18 58 views
0

我的Firefox扩展中有一个XUL树。当我双击一行时,该行就会崩溃或展开。我怎样才能禁用这种行为(因此只能通过点击加号/减号来进行折叠和展开)?我想保留双击其他的东西。如何在XUL表中双击禁用展开/折叠

我试着禁用像下面这样的默认动作和事件传播,但是这不起作用。事件处理程序已执行但未阻止崩溃。

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

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

回答

0

树在事情发生之前获取事件。据我所知只有这样,才能得到它前面是树的父元素上注册一个拍摄事件处理程序:

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

当然,这假定父元素不包含除<tree>其他元素,否则你也可以捕捉这些元素上的事件 - 但你总是可以将<tree>元素放入它自己的<box>元素中。