1. ホーム
  2. javascript

[解決済み] onclickが実行された場合、HREFを無効にするにはどうすればよいですか?

2022-10-12 23:21:39

質問

アンカーに の両方が HREFONCLICK 属性が設定されています。クリックされ、Javascriptが有効になっている場合、以下のようにしたい。 だけ 実行する ONCLICK を無視し HREF . 同様に、Javascript が無効またはサポートされていない場合は HREF を無視し ONCLICK . 以下は私がやっていることの例で、JSの実行とリンクの追跡を同時に行います(通常はJSが実行されてからページが変更されます)。

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

どうすればいいのでしょうか?

私はJavascriptの答えを望んでいますが、それが動作する限り、私はどんな方法でも受け入れます、特にこれがPHPでできる場合。 私は " を読みました。 は、javascriptのonclick関数が終了する前に、hrefリンクが実行され、ページがリダイレクトされます。 というのを読みましたが、これでは HREF を遅らせるだけで、完全にそれを無効にすることはできません。私はまた、もっとシンプルなものを探しています。

どのように解決するのですか?

最初に編集していない解決策を使用することができます。 onclick 属性にreturnを最初に記述すれば、編集前の最初の解答を使用することができます。

<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/