JavaScript:跨浏览器取消事件

标签 javascript events

我正在一个 ASP.NET 网站中实现一个 float 弹出帮助控件,并且我正在使用 JQuery 来实现一些奇妙的功能。

通过单击链接即可看到弹出窗口,该链接还具有指向另一个页面的 href,以支持禁用 JavaScript 的用户。我添加了“返回 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>

最佳答案

显式添加事件繁重

$("#myLink").click(function(e)
{
   $('#myPanel').addClass('helpPopOn');
   e.preventDefault();
});

关于JavaScript:跨浏览器取消事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/565939/

相关文章:

javascript - 如何使用 jquery 将 .xml 数据提取到 html 中?

javascript - 如何通过传递参数在 JavaScript 中设置计时器

android - 如何获得连续的触摸事件?

android - Android:在View上启用触摸声音

javascript - 逐行缩进Javascript文件?

javascript - 为什么 nextButton() 函数没有运行?

javascript - 为什么 textarea 的 .focus() 和 .blur() 不起作用

javascript - 可以将事件监听器绑定(bind)到(假设的)onChangeInnerHTML 事件吗?

c++ - 使用 wxwidgets 不会在 C++ 中抛出事件

javascript - 自定义 Javascript EventManager - 请帮我完成