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

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

新規登録して質問してみよう
ただいま回答率
85.48%
jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

1137閲覧

オレンジ色の部分を押せば更新が起こり、緑色の部分を押せば更新はおこらないようにする

tiqua_nibio

総合スコア62

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2019/07/25 14:00

次のようなコードがあります。

イメージ説明

オレンジ色の部分を押せば、更新が起こります(実際には何も起こりません)が、緑色の部分を押せば、「そこを押しても更新は起こりません。」メッセージが出ます。

しかしながら、オレンジ色の部分は緑色の部分の中に入れ子として入っているのです。

ですので、オレンジ色の部分を押すと、「そこを押しても更新は起こりません。」メッセージが出てしまいます。

やりたいこと→緑色の部分を押したときだけ、「そこを押しても更新は起こりません。」メッセージが出るようにしたい。

どなたかご存じの方がおられましたら、よろしくお願いいたします。

HTML

1<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> 2 3<div id="container"> 4 <div id="refresh">更新する</div> 5</div> 6 7<script type="text/javascript"> 8 $('#container').click(function() { 9 alert('そこを押しても更新は起こりません。'); 10 }); 11</script> 12 13<style type="text/css"> 14#container { 15 width: 400px; 16 height: 400px; 17 background-color: green; 18 text-align: center; 19} 20 21#refresh { 22 width: 200px; 23 height: 100px; 24 background-color: orange; 25} 26</style>

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2019/07/25 14:15

「javascript イベント 停止」で検索してください。
tiqua_nibio

2019/07/26 10:50

やってみましたが、だめでした。
guest

回答2

0

ベストアンサー

js

1$('#container').click(function( e ) { 2 if ( e.target.id === 'refresh' ) return; 3 alert('そこを押しても更新は起こりません。'); 4}); 5```**動くサンプル:**[https://jsfiddle.net/Lart9no2/](https://jsfiddle.net/Lart9no2/) 6 7--- 8 9【e.targetの扱いには注意しよう - Qiita】 10[https://qiita.com/sasurai_usagi3/items/45d61fd08cdf7cff57fa](https://qiita.com/sasurai_usagi3/items/45d61fd08cdf7cff57fa) 11 12【e.targetとe.currentTargetの違い | cly7796.net】 13[http://cly7796.net/wp/javascript/e-target-and-e-current-target/](http://cly7796.net/wp/javascript/e-target-and-e-current-target/) 14 15【event.curretTargetとevent.targetの違い - gsol-dev's blog】 16[http://gsol.hatenablog.com/entry/2013/12/04/event.curretTarget%E3%81%A8event.target%E3%81%AE%E9%81%95%E3%81%84](http://gsol.hatenablog.com/entry/2013/12/04/event.curretTarget%E3%81%A8event.target%E3%81%AE%E9%81%95%E3%81%84)

投稿2019/07/25 14:21

kei344

総合スコア69407

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

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

tiqua_nibio

2019/07/26 10:50

うまくいきました。ありがとうございます。
guest

0

緑色の部分を押したときだけ

の定義が、以下どちらかなのかによりますね

  • #refreshのとき
  • 直接#containerをクリックしたとき以外

前者はすでにkei344さんが回答されているとおり、後者ならこう

javascript

1$('#container').on('click',function(e){ 2 if(e.currentTarget==e.target){ 3 alert('そこを押しても更新は起こりません。'); 4 } 5});

投稿2019/07/26 01:04

編集2019/07/26 01:05
yambejp

総合スコア114839

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問