\r\n \r\n```\r\n\r\n今回やりたいこととしましては、\r\nチェックボックにチェックを入れないかぎりはボタンを非活性にするという処理を入れたいことです。\r\n\r\n```\r\nページ遷移\r\n```\r\n\r\n↑のようなボタンをdisabledによって非活性にしたかったのですが、リンク先に飛べてしまうため、困っております。\r\n\r\n尚、画面上では、見た目上は非活性になっております。(色が薄くなり、かつ、マウスオーバーすると、×みたいなアイコンがでる。但し、リンク先には飛べる)\r\n\r\ndisabledの記述方法がおかしいのかと思い、色々と試しましたが、ダメでした。\r\n\r\ndisabled=\"true\"\r\ndisabled=\"disabled\"\r\ndisabled\r\n\r\n\r\nどなたか解決策をご存知の方がいらっしゃいましたら、アドバイス頂けますと幸いです。\r\n\r\nよろしくお願いします。","answerCount":5,"upvoteCount":0,"datePublished":"2016-06-26T08:30:36.444Z","dateModified":"2022-01-12T10:55:45.698Z","suggestedAnswer":[{"@type":"Answer","text":"aリンクはスタイルで pointer-events: none; をつければ無効化できます。\r\nもしどうしてもdisabled属性を使いたいのであれば、aリンクのかわりにinputやbuttonを使用しましょう。\r\n\r\ndisabled属性は基本的にフォーム要素を非活性にするための属性ですので、inputやtextareaなどは無効にできます。しかしaリンクはフォーム要素ではありませんので効かないはずです。","dateModified":"2019-02-27T06:39:32.079Z","datePublished":"2019-02-27T06:39:32.079Z","upvoteCount":2,"url":"https://teratail.com/questions/39207#reply-262985","comment":[]},{"@type":"Answer","text":"ハイパーリンクを切るにはクリックイベントで**false**を返せばOKです。\r\n```javascript\r\n// 飛ばしたくないリンクにdisabledクラスをつける\r\n$(\"a.disabled\").on(\"click\",function(){\r\n return false;\r\n});\r\n```","dateModified":"2016-06-27T04:59:43.263Z","datePublished":"2016-06-27T04:59:43.263Z","upvoteCount":0,"url":"https://teratail.com/questions/39207#reply-62788","comment":[]},{"@type":"Answer","text":"Bootstrapを使用しているのであれば、classに\"disabled\"をつければ、押せなくはなります。\r\n参考: [CSS · Bootstrap#Anchor element](http://getbootstrap.com/css/#anchor-element-1)\r\n\r\n```HTML\r\nページ遷移\r\n```\r\n\r\n注意事項として、参考にあるノート\"Link functionality caveat\"にある通り、[`pointer-events: none`](https://developer.mozilla.org/en-US/docs/Web/CSS/pointer-events)というCSS3には無い(CSS4で含まれる予定)非標準プロパティを使っているため、古い一部のブラウザに対応していません。また、tabキーでリンクを移動するなどのキービードナビゲートでは対象になっているままです。完全に無効にしたい場合は、JavaScriptを使用すべきとしています。","dateModified":"2016-06-26T09:25:47.763Z","datePublished":"2016-06-26T09:25:20.995Z","upvoteCount":6,"url":"https://teratail.com/questions/39207#reply-62662","comment":[]},{"@type":"Answer","text":"HTML要素の属性値はリファレンスなどで確かめると「使える」「使えない」などがわかると思います。disabled は主にinput/buttonなどform要素などに使われています。\r\n\r\n【a 要素 - HTML | MDN】\r\n[https://developer.mozilla.org/ja/docs/Web/HTML/Element/a](https://developer.mozilla.org/ja/docs/Web/HTML/Element/a)\r\n\r\n【button 要素 - HTML | MDN】\r\n[https://developer.mozilla.org/ja/docs/Web/HTML/Element/button](https://developer.mozilla.org/ja/docs/Web/HTML/Element/button)\r\n\r\n\r\n---\r\n\r\n\r\n「チェックボックにチェックを入れないかぎりは」の部分と連動させつつ下記のようなサイトを参考にされれば活性/非活性が切り替えられると思います。\r\n\r\n\r\n【aタグのクリックを無効にするjQuery | ホームページ制作 Webデザイン事務所 ハイファイブクリエイト】\r\n[http://highfivecreate.com/blog/course/tips/937.html](http://highfivecreate.com/blog/course/tips/937.html)\r\n\r\n【jQuery - jQueryでページ内のリンクを無効化したい(3056)|teratail】\r\n[https://teratail.com/questions/3056](https://teratail.com/questions/3056)\r\n\r\n【preventDefault()で無効にしたイベントを有効にする方法: 小粋空間】\r\n[http://www.koikikukan.com/archives/2014/08/20-005555.php](http://www.koikikukan.com/archives/2014/08/20-005555.php)","dateModified":"2016-06-26T08:57:03.155Z","datePublished":"2016-06-26T08:57:03.155Z","upvoteCount":1,"url":"https://teratail.com/questions/39207#reply-62659","comment":[]},{"@type":"Answer","text":"``タグに`disabled`なんていう属性は**ありません**。スタイルはBootstrapのものが効いてしまいますが、リンクの機能は止まりません。","dateModified":"2016-06-26T08:36:02.043Z","datePublished":"2016-06-26T08:36:02.043Z","upvoteCount":3,"url":"https://teratail.com/questions/39207#reply-62655","comment":[{"@type":"Comment","text":"ご回答ありがとうございます。それでは、今回のようなケースにおいて、\r\nページを遷移させたくない場合は、どのように実装するのが一般的なのでしょうか?\r\n\r\njavascriptとかを使い、遷移を阻止したらいいのでしょうか・・・。","datePublished":"2016-06-26T08:40:50.023Z","dateModified":"2016-06-26T08:40:50.023Z"}]}],"breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"トップ","url":"https://teratail.com"},{"@type":"ListItem","position":2,"name":"HTML5に関する質問","url":"https://teratail.com/tags/HTML5"},{"@type":"ListItem","position":3,"name":"HTML5","url":"https://teratail.com/tags/HTML5"}]}}}
質問するログイン新規登録
HTML5

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

Bootstrap

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

HTML

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

Q&A

5回答

95837閲覧

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

qaz3330

総合スコア113

HTML5

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

Bootstrap

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

HTML

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

0グッド

0クリップ

投稿2016/06/26 08:30

編集2016/06/26 08:37

0

0

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

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

よろしくお願いします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/06/26 08:32

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

2016/06/26 08:37

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

回答5

0

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

HTML

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

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

投稿2016/06/26 09:25

編集2016/06/26 09:25
raccy

総合スコア21823

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

投稿2016/06/26 08:36

maisumakun

総合スコア146842

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

qaz3330

2016/06/26 08:40

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

0

aリンクはスタイルで pointer-events: none; をつければ無効化できます。
もしどうしてもdisabled属性を使いたいのであれば、aリンクのかわりにinputやbuttonを使用しましょう。

disabled属性は基本的にフォーム要素を非活性にするための属性ですので、inputやtextareaなどは無効にできます。しかしaリンクはフォーム要素ではありませんので効かないはずです。

投稿2019/02/27 06:39

mezzot

総合スコア38

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

投稿2016/06/26 08:57

kei344

総合スコア69643

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

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

javascript

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

投稿2016/06/27 04:59

Yasha_Wedyue

総合スコア830

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問