如果执行了点击,如何禁用 HREF?

2022-08-30 05:13:05

我有一个同时设置了属性的锚点。如果单击并启用Javascript,我希望它执行并忽略。同样,如果Javascript被禁用或不受支持,我希望它遵循URL并忽略。以下是我正在做的一个例子,它将执行JS并同时遵循链接(通常执行JS,然后页面更改):HREFONCLICKONCLICKHREFHREFONCLICK

<A HREF="http://example.com/no-js-login" ONCLICK="yes_js_login()">Log in</A>

最好的方法是什么?

我希望有一个Javascript的答案,但只要它有效,我就会接受任何方法,特别是如果这可以用PHP完成。我已经读过“在javascript onclick函数能够完成之前,href链接执行并重定向页面”,但它只会延迟,但不会完全禁用它。我也在寻找更简单的东西。HREF


答案 1

如果将 return 放在属性的第一位,则可以使用第一个未编辑的解决方案:onclick

<a href="https://example.com/no-js-login" onclick="return yes_js_login();">Log in</a>

yes_js_login = function() {
     // Your code here
     return false;
}

示例:https://jsfiddle.net/FXkgV/289/


答案 2
    yes_js_login = function() {
         // Your code here
         return false;
    }

如果返回 false,则应阻止默认操作(转到 href)。

编辑:抱歉,这似乎不起作用,您可以改为执行以下操作:

<a href="http://example.com/no-js-login" onclick="yes_js_login(); return false;">Link</a>