javascript - 链接中不引人注目的 JavaScript

标签 javascript html hyperlink unobtrusive-javascript graceful-degradation

我想要一个链接来执行 JavaScript 函数(如果 JavaScript 可用)或在 href 中输入 URL属性(如果不是)。

<a href="http://www.example.com" onclick="example(); return false;">

在此示例中,我想要执行 example()如果 JavaScript 可用,则输入链接或转到 http://www.example.com如果 JavaScript 不可用。

虽然这在我尝试过的几乎所有浏览器中都有效,但在 IE 7 中,无论 JavaScript 是否处于事件状态,它都只会跟随链接。我可以做什么来防止这种情况发生?

最佳答案

您必须使用preventDefault()在事件对象上防止默认操作(即导航到链接的 URL)。

由于浏览器中的实现略有不同,您应该编写一个单独的函数来执行此操作并在事件处理程序中调用它:

function preventDefault(event) {
        if (event.preventDefault) {
            event.preventDefault();
        } else {
            event.returnValue = false;
        }
}

此外,请务必在事件处理程序中返回 false

如果您正在使用任何 JavaScript 库,那么此功能很可能已经存在。

关于javascript - 链接中不引人注目的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10910926/

相关文章:

ruby-on-rails - Haml:link_to 与 button_to

javascript - Bootstrap 预滚动 DIV 的固定高度

javascript - 菜单图标根据 HTML 类/属性更改颜色

html - IE 文档模式 8 或以下不兼容 .svg 图片类型

html - 如何增加被 href 包围的 div 按钮的可点击区域

AngularJS 从文本创建 html/link/anchor (escape/unescape html in view)

javascript - Google Chrome 开发者工具 - 全局观察一个变量

Javascript - 我想在长时间运行的函数运行之前显示复选框检查

javascript - float 在 iframe html 上

html - IE 中的最小高度和 flex