javascript - 改变 <a> 标签行为的正确方法是什么?

标签 javascript ajax

我想通过 onclick 事件创建一个调用 Javascript 函数的链接,而不做任何其他事情(跟随链接)。最好的方法是什么?我通常这样做:

<a href="#" onclick="foo()">Click</a>

但我不确定这是最好的方法,在本例中它导航到 page.html#,这对我正在做的事情不利。

最佳答案

通常,您应该始终有一个回退链接,以确保禁用 JavaScript 的客户端仍然具有某些功能。这个概念被称为 unobtrusive JavaScript。示例...假设您有以下搜索链接:

<a href="search.php" id="searchLink">Search</a>

您始终可以执行以下操作:

var link = document.getElementById('searchLink');

link.onclick = function() {
    try {
        // Do Stuff Here        
    } finally {
        return false;
    }
};

这样,禁用 javascript 的人会被定向到 search.php,而使用 JavaScript 的观众会看到您的增强功能。

编辑:作为nickf在评论 #2 中指出,如果您的处理程序中存在错误,try and catch 将阻止链接跟随。

关于javascript - 改变 <a> 标签行为的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/184858/

相关文章:

javascript - 导航到其中的页面()

javascript - 客户端服务器端模板化nodejs

javascript - JSON 解析错误 : Unexpected identifier "Try"

javascript - 如何避免在 Angular 4 上多次调用相同的 API?

javascript - 返回函数的函数的流类型

php - 使用 setinterval 和 mysql 数据库进行复选框状态 Ajax 刷新

javascript - 使用ajax插入数据库,500(内部服务器错误)

javascript - 如果在 javascript 中的特定条件下,如何转到下一个 else block ?

html - AJAX 调用后显示数据,如何在 Controller 中呈现?

ajax - jquery ajax - 全局设置。是否可以知道什么事件/元素触发ajax调用?