我在asp.net网站上实现了一个浮动弹出窗口帮助控件,我正在使用JQuery来实现这些奇怪的位。
通过单击链接可以看到弹出窗口,该链接还有一个href到另一个页面以支持禁用JavaScript的用户。我添加了“return false;”到链接的onClick事件中的Javascript字符串的末尾,以防止导航到href值,并且非常高兴,直到我意识到这在Firefox中不受支持。
我遇到过几篇指向event.preventDefault方法的文章,该方法可用于让Firefox以相同的方式运行,但在所有情况下,所涉及的示例似乎都有一些繁琐的模式,即明确地向对象。
是否有一种简单的方法可以使这种语法起作用?我想让我的控制尽可能简单。代码示例:
<a id="myLink"
onclick="javascript:$('#myPanel').addClass('helpPopOn');return
false;" href="/pages/help.aspx?content=TestHelp">Help</a>
答案 0 :(得分:5)
明确添加事件繁琐?
$("#myLink").click(function(e)
{
$('#myPanel').addClass('helpPopOn');
e.preventDefault();
});
答案 1 :(得分:1)
虽然Shog9的答案是正确的,但为了完整性,同样的逻辑显然也适用于内联处理程序:
<a id="myLink" onclick="javascript:$('#myPanel').addClass('helpPopOn');event.preventDefault();return false;" href="/pages/help.aspx?content=TestHelp">Help</a>