2011-07-26 93 views
2

我使用Javascript库Protovis创建了一些图。在这个作品下面展示了一大堆SVG的东西。Javascript Firefox并在选项卡/中间点击选项中打开

我需要支持的一件事是点击图形打开一个页面,其中点击了数据点的详细信息。

目前我正在通过在Protovis中注册“单击”事件来完成此操作,然后检测它是鼠标左键还是鼠标中键并使用window.location.href = datalink进行分派。或window.open(datalink);分别。

所有这些都可以在Chrome或Safari中精美地运行。

在Firefox中,鼠标中键不会引发单击事件。

我需要在Firefox中捕获中点击事件吗?或者它是不可能的?

有什么方法可以在新标签中打开到右键单击菜单?

P.S. Firefox扩展不是一个好的解决方案,我不能强制扩展所有用户。

+0

链接是否在新窗口或选项卡中打开是用户首选项。用户如何通过浏览器指示打开链接取决于浏览器用户界面 - 他们可能会使用Ctrl +单击在新窗口中打开,然后选择在标签中打开新窗口,而不是关注它们。 Apple用户可以使用命令键+单击或双指轻敲来获取上下文菜单,并选择“在新窗口中打开”,其中优先级设置为在新选项卡中打开。底线:让用户找出打开窗户的位置以及如何操作。 – RobG

+0

@RobG从某种意义上说,您有我的问题的本质,我必须在我的JavaScript中做什么,所以Firefox会提供在新选项卡中向用户打开它的选项。 –

回答

3

尝试“onmousedown”而不是“onclick”。

+0

这很有趣,鼠标正在被protovis pan和scale helpers处理,我不认为要测试中点击是否在那里。现在,我只需要弄清楚如何区分点击和拖动。 –

+0

谢谢,用mouseup取代click是做到了这一点,以及我平时忽略的事件,如果我们只是有一个泛或规模的回调。 –