勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

aタグにてhref属性の「javascript:void(0);」の代替手段について

  JavaScript

aタグにJavaScriptやjQueryでイベントを割り当てたい場合、href属性に「javascript:void(0);」を指定していたが、ソースコードの見た目やリンク部分のマウスオーバー時の表示内容が微妙という点で他の方法に切り替えたい。以下に代替手段をメモ。

 

代替手段

href属性を付けない

こちらが簡単に対応できそうだけどCSSがうまく当たらない場合があるらしい

<a>href無し</a>

return false;を指定する

<a href="./" class="dummy_link">href有り</a>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
$(function(){
    $(`.dummy_link`).on(`click`, function(){
        return false;
    });
});

 

所感

buttonタグやinput type="button"に変更できたらいいんだけど、コーディングデータからタグ構成を勝手に変えるというのは色々難しいケースが多い。そのような場合は上記の代替手段で対応したいところ。

 - JavaScript

  関連記事

jQueryでループを抜けようと(breakしようと)するとエラーになる際の対応方法
jQueryでループを抜けようと(breakしようと)するとエラーになる際の対応方法

jQueryでループを抜けようと(breakしようと)すると「Uncaught ...

Android2.3でJavaScriptのエラー
Android2.3でJavaScriptのエラー

Android2.3で関数が動かないといったエラーが発生していた。 担当外だった ...

jQueryプラグインのDateTimePickerで年月日と時間のピッカーを実装する方法
jQueryプラグインのDateTimePickerで年月日と時間のピッカーを実装する方法

jQueryで年月日と時間を選択できるピッカーを導入したかった。以前にboots ...

クロスドメイン環境のiframeで子フレームから親フレームに値を渡す方法
クロスドメイン環境のiframeで子フレームから親フレームに値を渡す方法

クロスドメインの環境でiframeを使用しており、子フレーム側から親フレーム側に ...

Leafletで「leaflet-locatecontrol」プラグインを導入して現在地表示機能を追加する方法
Leafletで「leaflet-locatecontrol」プラグインを導入して現在地表示機能を追加する方法

LeafletとOpenStreetMapでマップ表示させ、特定のアイコンをクリ ...