勉強したことのメモ

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

JavaScriptでaタグ内の特定の要素をクリックした際にページ遷移させず別の処理を行う方法

  JavaScript

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で数値のカウントアップ及びカウントダウン
JavaScriptで数値のカウントアップ及びカウントダウン

JavaScript(一部jQuery)で数値のカウントアップ及びカウントダウン ...

JavaScriptでフォームのバリデート時に便利な「validator.js」ライブラリの利用方法
JavaScriptでフォームのバリデート時に便利な「validator.js」ライブラリの利用方法

JavaScriptでフォームのバリデートを行う際、「半角英数字 正規表現」等で ...

jQueryで指定の行動をとった際に、クリックイベントを発火させる方法
jQueryで指定の行動をとった際に、クリックイベントを発火させる方法

あるシステムでAという要素をクリックした際に何らかの処理を行うという部分があり、 ...

JavaScriptにてテキストボックスにサジェスト機能を実装できる「autoComplete.js」の利用方法
JavaScriptにてテキストボックスにサジェスト機能を実装できる「autoComplete.js」の利用方法

以前にjQuery UIでテキストボックスにサジェスト(入力補助)機能を実装する ...

AjaxのJSONP使用でPHPで作った配列をJSに返す方法
AjaxのJSONP使用でPHPで作った配列をJSに返す方法

AというサイトからBというサイトにAjax通信し、Bの方ではMySQLに接続して ...