在我正在处理的应用程序中,我们使用GWT,并且有一个包含项目列表的小部件。每个项目行由锚点<a>
元素表示。我希望在单击行/元素时添加功能,而按住Ctrl
键会执行其他操作,因为单击时没有按任何键(类似选择)。
这在Chrome中可以正常运行。然而,Mozilla和IE(我不知道我使用Linux)总是打开一个新标签,我无法摆脱它。
这是html代码:
<a class="list-group-item" href="javascript:;">... content ...</a>
将href
设置为空字符串似乎不起作用。它只是在新选项卡中打开当前页面的ULR。
我该怎么做才能防止这种恼人的行为?
答案 0 :(得分:0)
我在GWT代码中找到了一个解决方案。
ClickEvent.preventDefault()
似乎阻止事件传播到浏览器。
答案 1 :(得分:0)
href="javascript:;"
如果它不是链接,请不要使用链接(<a>
)。
如果是小部件,请使用FocusWidget
(例如InlineLabel
或InlineHTML
)而不是Anchor
;如果您正在使用事件委派,那么只需使用<span>
代替<a>
(并添加样式以使其看起来像链接,如果您想让用户感到困惑)。