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で数値のカウントアップ及びカウントダウン
JavaScript(一部jQuery)で数値のカウントアップ及びカウントダウン ...
-
-
JavaScriptでフォームのバリデート時に便利な「validator.js」ライブラリの利用方法
JavaScriptでフォームのバリデートを行う際、「半角英数字 正規表現」等で ...
-
-
jQueryで指定の行動をとった際に、クリックイベントを発火させる方法
あるシステムでAという要素をクリックした際に何らかの処理を行うという部分があり、 ...
-
-
JavaScriptにてテキストボックスにサジェスト機能を実装できる「autoComplete.js」の利用方法
以前にjQuery UIでテキストボックスにサジェスト(入力補助)機能を実装する ...
-
-
AjaxのJSONP使用でPHPで作った配列をJSに返す方法
AというサイトからBというサイトにAjax通信し、Bの方ではMySQLに接続して ...