質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.36%

  • HTML

    10256questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • HTML5

    4599questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • Bootstrap

    1114questions

    BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

htmlで非活性(disabled)にしたのに、リンク先に飛べてしまう。

受付中

回答 4

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 38K+

qaz3330

score 105

htmlとbootstrapを用いてwebページを作成しております。

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>

今回やりたいこととしましては、
チェックボックにチェックを入れないかぎりはボタンを非活性にするという処理を入れたいことです。

<a class="btn btn-default" disabled="true" href="example.com">ページ遷移</a>

↑のようなボタンをdisabledによって非活性にしたかったのですが、リンク先に飛べてしまうため、困っております。

尚、画面上では、見た目上は非活性になっております。(色が薄くなり、かつ、マウスオーバーすると、×みたいなアイコンがでる。但し、リンク先には飛べる)

disabledの記述方法がおかしいのかと思い、色々と試しましたが、ダメでした。

disabled="true"
disabled="disabled"
disabled

どなたか解決策をご存知の方がいらっしゃいましたら、アドバイス頂けますと幸いです。

よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • kei344

    2016/06/26 17:32

    例示用ドメインはご自身で所有されていない限りexample.comを利用してください。

    キャンセル

  • qaz3330

    2016/06/26 17:37

    失礼しました。修正しました。

    キャンセル

回答 4

+3

<a>タグにdisabledなんていう属性はありません。スタイルはBootstrapのものが効いてしまいますが、リンクの機能は止まりません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/06/26 17:40

    ご回答ありがとうございます。それでは、今回のようなケースにおいて、
    ページを遷移させたくない場合は、どのように実装するのが一般的なのでしょうか?

    javascriptとかを使い、遷移を阻止したらいいのでしょうか・・・。

    キャンセル

+3

Bootstrapを使用しているのであれば、classに"disabled"をつければ、押せなくはなります。
参考: CSS · Bootstrap#Anchor element

<a class="btn btn-default disabled" href="example.com" role="button">ページ遷移</a>

注意事項として、参考にあるノート"Link functionality caveat"にある通り、pointer-events: noneというCSS3には無い(CSS4で含まれる予定)非標準プロパティを使っているため、古い一部のブラウザに対応していません。また、tabキーでリンクを移動するなどのキービードナビゲートでは対象になっているままです。完全に無効にしたい場合は、JavaScriptを使用すべきとしています。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

HTML要素の属性値はリファレンスなどで確かめると「使える」「使えない」などがわかると思います。disabled は主にinput/buttonなどform要素などに使われています。

【a 要素 - HTML | MDN】
https://developer.mozilla.org/ja/docs/Web/HTML/Element/a

【button 要素 - HTML | MDN】
https://developer.mozilla.org/ja/docs/Web/HTML/Element/button


「チェックボックにチェックを入れないかぎりは」の部分と連動させつつ下記のようなサイトを参考にされれば活性/非活性が切り替えられると思います。

【aタグのクリックを無効にするjQuery | ホームページ制作 Webデザイン事務所 ハイファイブクリエイト】
http://highfivecreate.com/blog/course/tips/937.html

【jQuery - jQueryでページ内のリンクを無効化したい(3056)|teratail】
https://teratail.com/questions/3056

【preventDefault()で無効にしたイベントを有効にする方法: 小粋空間】
http://www.koikikukan.com/archives/2014/08/20-005555.php

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

ハイパーリンクを切るにはクリックイベントでfalseを返せばOKです。

// 飛ばしたくないリンクにdisabledクラスをつける
$("a.disabled").on("click",function(){
    return false;
});

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.36%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • HTML

    10256questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • HTML5

    4599questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

  • Bootstrap

    1114questions

    BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。