JavaScriptでaタグ内の特定の要素をクリックした際にページ遷移させず別の処理を行う方法
JavaScriptでaタグ内の特定の要素をクリックした際にページ遷移させず別の処理を行い、それ以外の場所をクリックした場合はページ遷移させたいというケースがあった。また、HTMLのタグ構成は変更できないという制約がある状況。以下に対応方法をメモ。
対応方法
ソースコード
<style>
a{
display: block;
width: 300px;
height: 300px;
background-color: #f00;
.click{
margin: 10px;
padding: 10px;
background-color: #000;
}
}
</style>
<a href="link">
<div class="click">クリック</div>
</a>
<script>
document.querySelector('.click').addEventListener('click', (event) => {
event.stopPropagation();
event.preventDefault();
console.log('遷移しません');
});
</script>
リファレンス
Event: stopPropagation() メソッド
https://developer.mozilla.org/ja/docs/Web/API/Event/stopPropagation
Event: preventDefault() メソッド
https://developer.mozilla.org/ja/docs/Web/API/Event/preventDefault
関連記事
-
-
JavaScriptにて数値のカウントアップ及びカウントダウンを表示する「countUp.js」ライブラリの利用方法
だいぶ前にバニラJSにて数値のカウントアップ及びカウントダウン表示を行う方法をメ ...
-
-
jQueryにて特定のIDが存在するかチェックし分岐処理する方法
jQueryにて特定のIDが存在するかチェックし分岐処理したいというケースがあっ ...
-
-
JavaScriptにてテキストボックスにサジェスト機能を実装できる「autoComplete.js」の利用方法
以前にjQuery UIでテキストボックスにサジェスト(入力補助)機能を実装する ...
-
-
Leafletにアイコン(ボタン)を設置できる「Leaflet.EasyButton」プラグインの利用方法
先日「leaflet-tag-filter-button」プラグインのCDN呼び ...
-
-
クロスドメイン環境のiframeで子フレームから親フレームに値を渡す方法
クロスドメインの環境でiframeを使用しており、子フレーム側から親フレーム側に ...