• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

株式会社ハイファイブクリエイト

東京都を拠点にWebサイト制作やシステム構築、WordPress保守管理やウェブコンサルティングを提供。

  • SERVICE
  • ABOUT
  • WORKS
  • BLOG
  • NEWS
  • CONTACT
ホーム / ブログ / TIPS / aタグのクリックを無効にするjQuery

aタグのクリックを無効にするjQuery

池田祐太郎 | 2018年6月4日 更新 | 2013年10月16日 公開

jquery_a_click
aタグをクリックしてプルダウンメニューを出したり、タブメニューで別のコンテンツを表示させたりするケースよくありますよね。
今日のTIPSは特定のaタグやグループのaタグのリンクを無効にしてクリックしても「何もさせない」というやり方をjQueryで実現する方法です。

目次

  • 1 準備
    • 1.1 jQueryの読み込み
    • 1.2 無効にするaタグを指定
  • 2 jQueryを書く
    • 2.1 解説
      • 2.1.1 jQueryの始まり
      • 2.1.2 ターゲットの設定
      • 2.1.3 「何をしたら」というアクションの指定
      • 2.1.4 クリックを実行したあとの処理
      • 2.1.5 全部つなげる
  • 3 まとめ

準備

jQueryの読み込み

jQueryを使うので実行する前に読み込みます。今回はgoogleが提供しているapiから直接読み込みました。バージョンは2.0.3。


もちろんローカルに保存して読み込んでもOK。

無効にするaタグを指定

全部のaタグを無効にしてしまうと通常のリンクが動かない、という事態になってしまいます。なので今回はidがglobalMenuという名前のulタグにあるaタグを無効にするという設定にします。htmLにすると以下のようになります。

<ul>
<li style=”list-style-type: none”>
<ul>
<li><a>メニュー01</a></li>
</ul>
</li>
</ul>
<ul>
<li style=”list-style-type: none”>
<ul>
<li><a>メニュー02</a></li>
</ul>
</li>
</ul>
<ul>
<li style=”list-style-type: none”>
<ul>
<li><a>メニュー03</a></li>
</ul>
</li>
</ul>
<ul>
<li style=”list-style-type: none”>
<ul>
<li><a>メニュー04</a></li>
</ul>
</li>
</ul>

jQueryを書く

準備が出来たのでjQueryを書きます。今回は「id名globalMenuの中にあるaタグをクリックしたとき元々の動きをキャンセルする」という処理です。

<script>
$(document).ready(function(){
$(‘#globalMenu a’).click(function(e){
e.preventDefault();
});
});
</script>

こんなかんじに書くとaタグのリンククリックが無効になり、押しても何も起こらなくなります。
では簡単に解説していきましょう。

解説

jQueryの始まり

scriptのあとの

$(document).ready(function(){

はjQueryを書く前に書く一文です。最後に必ず

});

で閉じます。

ターゲットの設定

次に今回の本文。

$('#globalMenu a')

これは「id名globalMenuの中にあるaタグ」という意味になります。これがターゲットになります。単に’a’にしてしまうと全部のaタグになってしまいます。
ちなみにこれをもっと特定したいとき、例えば「#globalMenuのクラス名noLinkという名前があるaタグだけにかけたい」という場合は以下のようになります。

$('#globalMenu a.noLink')

という感じですね。aはあってもなくてもOK。

「何をしたら」というアクションの指定

ターゲットが決まって、「ターゲットが何をしたら」という部分を決めます。
それが

.click(function(e){

という部分。「.click」で「クリックをしたら」という意味になります。clickによるイベントを実行するのでfunctionが続き、「e」という固有の名前があるイベントに指定します。

クリックを実行したあとの処理

最後に「何をするか」を決めます。

e.preventDefault();

preventDefault();というのは元々のイベントをキャンセルします。なので、aタグのイベントつまりリンク先に遷移するイベントをキャンセルします。それに先ほどつけた名前の「e」というのを指定しています。

全部つなげる

もう一度全部つなげた処理です。

<script>
$(document).ready(function(){
$(‘#globalMenu a’).click(function(e){
e.preventDefault();
});
});
</script>

まとめ

他にもaタグのイベントをキャンセルするやり方はありますが、jQueryを使ってhtmlをいじらずキャンセルできるこのやり方は簡単なので覚えておくとラクでしょう。

メールコンサルティング
WordPress保守管理サービス

カテゴリTIPS 関連タグ:jQuery

池田祐太郎

WordPress の構築・保守を10年以上にわたって手掛けており、主に小〜中規模のコーポレートサイト・ECサイト・ブランドサイト等の企画・開発・保守・コンサルティングなどを行ってきました。2012年にハイファイブクリエイトを創業し、現在は WordPress の保守やコンサルティング、ディレクションや開発業務などを担当しています。 プロフィール詳細

この記事と関連する記事

これからはbxSliderを使わずに別のスライダーライブラリを使おう
2022年1月13日
タグ: bxslider, jQuery, Swiper
カテゴリー: WordPress
7.デベロッパーツール応用編
2014年3月4日
タグ: css, HTML, jQuery
カテゴリー: デベロッパーツール入門
要素を遅らせて表示させるjQueryのサンプル
2013年11月9日
タグ: jQuery
カテゴリー: TIPS

最初のサイドバー

WordPress保守管理サポート

Search

最近の投稿

  • 2024-2025年末年始の営業のご案内
  • WordPressのプラグイン自動更新のロールバック機能が正しく動くのか確認してみた
  • 遅延読み込み開始させる画像を変更させるWordPressカスタマイズ
  • WordPressで特定の画像やアイキャッチ画像をlink rel=”preload”に設定する
  • WordPressのプラグインがどのくらい表示速度を重くさせるのか22個のプラグインで検証

カテゴリー

  • CSS初心者
  • HTML初心者
  • TIPS
  • WooCommerce
  • WordPress
  • エステサロン
  • お知らせ
  • キュレーション
  • サイトマップ
  • システム会社
  • デベロッパーツール入門
  • ブログ
  • ホームページ制作
  • ホームページ制作無料講座
  • メール
  • モバイル
  • 仕事のこと
  • 制作実績
  • 整体院
  • 美容院
  • 雑感

タグ

ai Android ChatGPT CMS css DALL-E elementor gmail google workspace Gutenberg HTML iPhone jQuery Mac Photoshop php SEO SNS ssh SSL Webサイト高速化 Windows WordPress WordPressカスタマイズ WordPressテーマ WordPress構築調査 WPRocket アクセス解析 クラウドソーシング サイト引っ越し サブスクリプション サーバー ショートカットキー スマホサイト スマートフォン セキュリティ ツール ブログ プラグイン マーケティング リニューアル レスポンシブWebデザイン 保守管理 最適化 集客するサイト構築

アーカイブ

CONTACT

お問い合わせはこちら

Footer

  • PRIVACY POLICY
  • 情報セキュリティ基本方針
  • 特定商取引法に基づく表示
  • 転載/引用

© 2025 high five create All rights reserved.