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
関連記事
-
-
jQueryプラグインのDateTimePickerで年月日と時間のピッカーを実装する方法
jQueryで年月日と時間を選択できるピッカーを導入したかった。以前にboots ...
-
-
JavaScriptで連想配列を数値の降順でソートする方法
JavaScriptで連想配列を数値の降順でソートしたかったんだけど、色々調べて ...
-
-
バニラJavaScriptでXML形式データの取り扱いとJSON形式への変換方法
JavaScriptで外部APIにリクエストし、レスポンスのXML形式データを取 ...
-
-
Gif画像に再生ボタンを設置し、ユーザーの操作により再生⇔停止が行える「gifffer」ライブラリの利用方法
あるページにGif画像を設置し、当該画像が表示されても自動再生させず、再生ボタン ...
-
-
jQueryで後から追加した要素にhasClass / addClass / removeClassを使用した際の挙動
jQueryで後から追加した要素にhasClass / addClass / r ...