• 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保守管理サービス

Filed Under: 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

人気記事

  1. 同一サーバー上に構築するWordPressのテスト環境の作り方
  2. git pull してもエラーが出てファイルが反映されないときの対処法
  3. サイト制作の要件定義書に普段書いている内容(ダウンロード可)
  4. WordPressの固定ページでタグやカテゴリーを使いたいときはカスタム投稿タイプを検討する
  5. ダウンロードして即使えるサイトマップ(サイト構成図)のテンプレート5点
  6. WordPress において PHP 8.1 に更新していいかどうか検証

最初のサイドバー

WordPress保守管理サポート

Search

最近の投稿

  • WordPress サイトを多言語化するプラグイン5選(自動翻訳サービス除く)
  • ウェブサイトを自動的に多言語対応する各サービスを比較します
  • WooCommerce のバリエーションのある商品を追加して売上向上を図る
  • 目次生成プラグインの TOC+ が表示されなくなったときの対処法
  • ChatGPT の有料版「ChatGPT Plus」を使ってみた

カテゴリー

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

タグ

Android BtoC CMS css elementor git Google+ google workspace Gutenberg HTML iPhone jQuery Mac MAMP php SEO SNS SSL Sublime Text Webサイト高速化 Windows WordPress WordPressカスタマイズ WordPressテーマ WordPress構築調査 WPRocket アクセス解析 アプリ クラウドソーシング サイト引っ越し サブスクリプション サーバー ショートカットキー スマホサイト スマートフォン ツール フルサイト編集 ブログ プラグイン マーケティング リニューアル 保守管理 多言語 最適化 集客するサイト構築

アーカイブ

CONTACT

お問い合わせはこちら

Footer

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

© 2023 high five create All rights reserved.