2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

JavaScript情報交換所(プログラミング既習者専用)

1 :デフォルトの名無しさん:2015/12/07(月) 07:26:33.87 ID:NYLGCW0V.net
実際にJavaScriptを書いている人の情報交換所です。
プログラミング既習者専用です。初心者の方はご遠慮下さい。
玄人の方、歓迎致します。

573 :デフォルトの名無しさん:2020/05/13(水) 15:52:15 ID:WBibu7Ic.net
>>572
なるほど

サーバー側のセンサーや機械の状態更新を
クライアントからのアクセスによってトリガーする仕組みだと不味いけど
そうじゃなくてサーバー側ですでに存在してるデータに対して
10人くらいが数秒に1回アクセスするんなら
その負荷は微々たるものだよ

各状態に応じた画像は
最初にモニタリング用画面にアクセスした時に全部ダウンロードさせておいて
数秒に1回AJAXでサーバー側の状態のみ取得してその値によって画面表示を切り替えればいい

574 :質問者:2020/05/13(水) 16:03:47.03 ID:5xfr/P29.net
>>573
そうです。

>最初にモニタリング用画面にアクセスした時に全部ダウンロードさせておいて

この技術がわかりません。何をキーワードにして調べれば良いのでしょうか、すみませんが、お願いいたします。

575 :質問者:2020/05/13(水) 16:51:28.10 ID:5xfr/P29.net
すみません。解決しました。
最初にリロードしたときに正常な画像だけでなく、異常な画像もリンク(表示しない)しておけばよいのですね。
そうしておけばブラウザ側にキャッシュされるので。

576 :デフォルトの名無しさん:2020/05/13(水) 17:25:36.80 ID:WBibu7Ic.net
>>575
いろいろ方法あるけど一番堅いのはCSSスプライト
https://developer.mozilla.org/ja/docs/Web/CSS/CSS_Images/Implementing_image_sprites_in_CSS

他には
- visibility: hidden
- JavaScriptでページロード時に画像を読み込む
- 凡例として異常時の画像も一つ表示しておく
など

この辺の話はJSのプログラミングの話じゃないので
誰か書いてたけどweb制作板で聞いたほうがいいかも

577 :質問者:2020/05/13(水) 17:50:05 ID:5xfr/P29.net
>>576

本当にいろいろとありがとうございました。

578 :564:2020/05/13(水) 18:01:05 ID:VSt/R8YQ.net
>>569

>>565
にも書いたけど、

VSCode のデフォルトが、Beautify で、拡張機能のPrettier が有名

Ruby on Rails で有名な、Airbnb などのStyle Guide だろ

579 :デフォルトの名無しさん:2020/05/13(水) 18:09:08 ID:VSt/R8YQ.net
>>572
>画像イメージはサーバー上に置かれているので。一回アクセスしたらキャッシュされるかもしれません
確かに、同じファイルパスなら、キャッシュを使う

データは、ajax で、JSON でやりとりすることが定番

580 :質問者:2020/05/14(木) 00:27:54.68 ID:XcM6moP2.net
>>579

はい、ありがとうございます。

581 :デフォルトの名無しさん:2020/06/20(土) 11:09:53 ID:iiFnSxTf.net
できる訳ないだろうなと思いつつ聞くんだけど、javascriptでローカルのファイルを別のディレクトリに移動させたりすることってできる?

582 :デフォルトの名無しさん:2020/06/20(土) 13:24:24 ID:hfA4Ec7B.net
つNode

583 :デフォルトの名無しさん:2020/06/20(土) 13:27:05 ID:hfA4Ec7B.net
つcscript/wscript

584 :デフォルトの名無しさん:2020/06/20(土) 20:45:20.50 ID:iiFnSxTf.net
>>582
これはサーバサイドでjs書いたときの話だもんね

ユーザーがブラウザ操作してる時に動くブラウザ上のjsでファイル操作がしたいんだよなあ
そんなこと出来たらやべーからまあ無理なんだろうけど、なんか代わりの手段ないものか

585 :デフォルトの名無しさん:2020/06/20(土) 21:17:03.49 ID:hfA4Ec7B.net
>>584
プラットフォームとしてブラウザが欲しいのなら electron = chromium + node がそれだろ。
代表アプリはatomとVSCode。
サイトのJSでユーザーのローカルファイルを弄りたいというのなら、それが出来るようなら困るだろ。

586 :デフォルトの名無しさん:2020/06/20(土) 21:21:46.31 ID:hfA4Ec7B.net
>>584
あと、今現在使っていいか、使えるか、というのはあるが、技術的にはActiveX。
wiki読めば大体分かるはず。

587 :デフォルトの名無しさん:2020/06/29(月) 12:03:45.83 ID:Na3g7Gku.net
うんち

588 :デフォルトの名無しさん:2020/06/29(月) 12:04:05.78 ID:Na3g7Gku.net
htmlタグに書くonclick=の中には
JSの処理を直接書くこともfunction(){}と書いてその中に処理を書くことも、どちらもokですか?その違いはありますか?

589 :デフォルトの名無しさん:2020/06/29(月) 12:07:23.28 ID:Na3g7Gku.net
onclick=のあと関数名(関数が入った変数)を書く場合は()は書かないほうがいいですか?書くべきですか?


<button onclick='unko'> or <button onclick='unko()'>

unko=function(){
alert('unko!');
}

みたいなときです。

590 :デフォルトの名無しさん:2020/06/29(月) 12:51:41.62 ID:I7ZZ3pdS.net
最初に喧嘩売ってきてわろた

591 :デフォルトの名無しさん:2020/06/29(月) 12:54:40.10 ID:ze6DZkOI.net
>>588
こういう感じで、直接内容も書けるみたい

on@click='con@sole.log("abc")'

注意! 書き込めないため、@ を入れました

>>589
on@click='unko()'

みたいに、すべて( ) が付いている

それと、JavaScript の質問は、web制作管理板の方へ書き込んでください!

こちらの板は、web制作管理板が荒らしに荒らされた時に、
緊急避難的に立てられたものだから、今は使われていない

592 :デフォルトの名無しさん:2020/06/29(月) 21:14:29 ID:WKcpUWSm.net
>>587-589
オムツがまだ取れてなくてウンコ臭い初心者はWeb板へ
何度も言われていることだが

それ以前にお前レベルの超超超超初心者はそもそもここ(5ch)に来るべきではない
各自が勝手に意見を言ってるだけだから、それなりの確率で間違いや勘違いはどうしても発生する
それを自分で修正する能力がないうちは、5chを使うのは止めた方がいい
超超超超初心者なら、少なくとも間違っていたら訂正してもらえる場所、
つまり本か信頼出来るWebサイトを参考にするべきだ

なお俺はお前みたいなウンコお漏らし初心者用の本やサイトは知らない
というか、そんな、始めて3時間で通過するレベルの事柄を、ネットで質問しようとすること自体、かなり頭がおかしい
少なくともお前はプログラマには向いてないし、間違って就職しても浮きまくって仲間に入れず不幸な人生になるから止めとけ
それを教えてもらいたければ、「1週間の集中講座ででWebページ開設出来ます!」みたいなセミナーとかに行け
JavaScriptの部を始めて10分後にはそれについて教えてくれるだろう

593 :デフォルトの名無しさん:2020/06/30(火) 01:12:09.33 ID:l6PnVpoX.net
>>552
通りすがりだけどソレみて長年のモヤモヤがはれました、ありがとう。

594 :デフォルトの名無しさん:2020/07/23(木) 00:01:42.43 ID:qAfVnVsp.net
$("div").click(function())

595 :デフォルトの名無しさん:2020/07/23(木) 00:02:03.83 ID:qAfVnVsp.net
$("div").click(function(){
})

596 :デフォルトの名無しさん:2020/07/23(木) 00:05:54.40 ID:qAfVnVsp.net
$("div").click(function(){
$(this).css('background','red');
})

のこの$(this)が$("div")を指す理由はなんですか?
Javaではthisというのはそれを定義したクラスのインスタンスを指すと習いましたが。

597 :デフォルトの名無しさん:2020/07/23(木) 00:38:57.14 ID:cGFBf2BV.net
jQuery, Haxe のthis は、JavaScript/TypeScript のthis とは異なる。
this がwindow を指したり、おかしな部分があるので、それを変えている

それと、JavaScript の質問は、web制作管理板の方へ書き込んでください!

こちらの板は、web制作管理板が荒らしに荒らされた時に、
緊急避難的に立てられたものだから、今は使われていない

598 :デフォルトの名無しさん:2020/07/23(木) 07:12:59.16 ID:qAfVnVsp.net
>>597
「おかしな部分があるので、それを変えている」とは?

599 :デフォルトの名無しさん:2020/07/23(木) 07:13:47.98 ID:qAfVnVsp.net
thisの正体を見分けるコツはないですか?

600 :デフォルトの名無しさん:2020/07/23(木) 07:32:15.26 ID:/b5pS+w+.net
>>596
> のこの$(this)が$("div")を指す理由はなんですか?

DOM APIとの互換性

例えば、これのイベントハンドラの中身を書き換えるならば
$("div").click(function(){
  $(this).css('background','red');
})

このようになる。(おまけで引数のjQuery eventを追加)
$("div").click(function(event){
  this.style.background = 'red';
})

このイベントハンドラ(function)はDOM APIと互換性があるので全く同じように使える。
(引数のeventはjQuery eventではなくDOM APIの eventだがある程度の互換性がある)
divElement.addEventListener('click', unction(event){
  this.style.background = 'red';
})

つまりイベントハンドラをDOM APIのものと互換性があるようにしているのが理由
そうすることで、コードを相互に変換しやすくなる。
例えば後からjQuery化するときなど少しずつ移植できる。

601 :デフォルトの名無しさん:2020/07/23(木) 07:36:27.79 ID:/b5pS+w+.net
>>599
thisは実行時に変わるからコードを見てもわからない
つまり呼び出されているコードを見てもわからない。
「誰が呼び出しているか?」を知る必要がある。

同じthisであっても「あれ」に登録して「あれ」から
呼び出されれば「それ」とは違うthisの場合がある。

だからthisが何かは仕様を調べるしかない
関数の引数にobjが入ってる場合、このobjの正体はなんですか?と
言ってるのと同じ質問だよ

602 :デフォルトの名無しさん:2020/07/23(木) 07:39:49 ID:/b5pS+w+.net
>596
Javaではthisを変えられることができないが
JavaScriptはthisは呼び出し側で与えるオブジェクト
JavaScriptだけではなくRubyやPerlなどいくつかの言語は呼び出し側でthisを変更できる

603 :デフォルトの名無しさん:2020/07/23(木) 08:18:34.22 ID:qAfVnVsp.net
>>600-602
ありがとうございます。
深いですね。
まだちゃんと理解できてないですが
ゆっくり吟味して考えてみます。

604 :デフォルトの名無しさん:2020/07/23(木) 08:20:56.24 ID:qAfVnVsp.net
this=eventとなっているということかな?

605 :デフォルトの名無しさん:2020/07/23(木) 08:24:35.38 ID:/b5pS+w+.net
>>604
違うぞ。eventはおまけ。thisの話とは直接関係ない

606 :デフォルトの名無しさん:2020/07/23(木) 08:25:10.27 ID:/b5pS+w+.net
ようするにjQueryはブラウザ標準のDOM APIと
互換性をもたせて作られているということ

607 :デフォルトの名無しさん:2020/07/23(木) 20:38:07.50 ID:QHkNbR5l.net
>>599
ID:/b5pS+w+ の言っていることは全面的に正しいが、補足すると、
> thisの正体を見分けるコツはないですか?
こんな事を言っている時点で糞サイト(或いはゴミ本)に騙されているから止めとけ。
見分ける必然性も意味もない。単なる暗黙の引数程度でしかなく、
実際にそれなりに組織的にコーディングするとcallはそれなりに使う。

DOM APIのthisがe.currentTargetを指すのはそもそもJava用の仕様、
つまりJavaでもクライアントスクリプトを書けるようにする為の仕様らしい。(とここ5chで聞いた)
しかし現在はJavaで書く奴なんて一人もいないし、JavaScriptにおいてはe.targetを全面的に使うのが正しい。
理由は、
1. thisにはe.currentTargetが入っているが、マトモなサイトなら通常はbubbleを利用する為、e.target主体で書くことになる。
 つまりこの仕様のthisでは使い物にならない。
2. e.currentTragetで役に立つ場合は、Elementに直接onXXXかaddEventListenerした場合だが、
 こんな事をやっているのはjQueryを使っている程度の簡単なサイトだけ。
 やれば分かるがbubbleを利用した方が実行効率もよく、コードも綺麗になるから、マトモなサイトは全部そうしてる。
 ただし、Elementに直接貼った方が直感的で分かりやすいので、jQueryのような簡単/初心者向けの場合には活用される。
 (なおjQueryでもbubble主体で書くことは可能ではあるが、それをやるとjQueryの意味がほぼ無くなるので普通はやってないと思う)

608 :デフォルトの名無しさん:2020/07/23(木) 20:39:00.72 ID:QHkNbR5l.net
3. それなりに組織的にコーディングすると、どうしてもイベントハンドラで共通の関数を使いたい要求が出てくる。
 しかしイベントハンドラだとthisがe.currentTargetによって潰されているので、共通関数をクロージャ(最終段はグローバル)で掴むしかないが、
 クロージャはクローズ(追加不能だしコード配置が限定される=C++で言うクラスはクローズ、namespaceはオープンと同じ意味のクローズ)ので、
 現実的には使いにくく、俺はイベントハンドラを集めたオブジェクト(その中に共通関数も入っている)をthisとしてcallし直して、
 イベントハンドラ内ではthis.my_sub_function()で共通関数を呼べるようにしている。
 この場合、thisは単なるオブジェクトなので、継承出来るのがいい。(共通関数の共通関数を__proto__側に追い出せる)
 どうせthisが使い物にならない仕様なので他の連中も同様にやっているとは思う。

なお俺はjQuery不要派だがjQuery自体は初心者には分かりやすく偉大だと思っている。
実際にjQueryを使っていて問題ないのなら使うこと自体も悪いことではない。
ただしそれは世の中のマトモなサイト≒ガチのプログラマーが本気で書いたサイトではほぼ使われていない手法だということも理解しておいた方がいい。
といっても今の君には分からないだろうが、イベントハンドラ内でthisをe.currentTargetとして利用することはガチのサイトではほぼ無い、ということ。
今はどうせ何も分かってない状態なんだろうから、それならイベントハンドラ内ではthisを使わずe.currentTargetを使う癖を付けた方が多分いい。
それ以前にbubbleを使うようにした方がいいが。

609 :デフォルトの名無しさん:2020/07/23(木) 20:41:48.09 ID:QHkNbR5l.net
といっても多分さっぱり何がなにやら、だと思うが、そういうものだと思っておいてくれ。
質問の質問を受けていたら話が進まないのでそれは断る。

610 :デフォルトの名無しさん:2020/07/23(木) 21:58:10.24 ID:k24nyzXR.net
>>607
>  (なおjQueryでもbubble主体で書くことは可能ではあるが、それをやるとjQueryの意味がほぼ無くなるので普通はやってないと思う)

イベントのキャプチャフェーズとバブリングフェーズの話をしてるなら
jQueryはバブリングフェーズしか対応してません
jQueryの意味がなくなる?なぜですか?

そもそもIE8以前がキャプチャフェーズに対応してないので
それ以前からあるjQueryでは実装が不可能です。
(jQuery 4.0では実装されるらしい)


間違ったことを書かないでください

611 :デフォルトの名無しさん:2020/07/23(木) 22:00:14.35 ID:k24nyzXR.net
>>608
> 現実的には使いにくく、俺はイベントハンドラを集めたオブジェクト(その中に共通関数も入っている)をthisとしてcallし直して、
> イベントハンドラ内ではthis.my_sub_function()で共通関数を呼べるようにしている。
> この場合、thisは単なるオブジェクトなので、継承出来るのがいい。(共通関数の共通関数を__proto__側に追い出せる)

やめましょう。無関係のイベントハンドラをまとめることは
単一責任の原則に違反しています。

612 :デフォルトの名無しさん:2020/07/23(木) 22:01:00.61 ID:k24nyzXR.net
>>608
> イベントハンドラ内でthisをe.currentTargetとして利用することはガチのサイトではほぼ無い、ということ。
いいえ。殆どがthisを使っています。e.currentTargetは冗長なだけです。

613 :デフォルトの名無しさん:2020/07/23(木) 22:41:43.25 ID:k24nyzXR.net
>>607
> DOM APIのthisがe.currentTargetを指すのはそもそもJava用の仕様、
> つまりJavaでもクライアントスクリプトを書けるようにする為の仕様らしい。(とここ5chで聞いた)

逆です。Javaではe.currentTargetを使い、thisは使えません。
(当時の)Javaでは言語仕様上の制限でイベントハンドラとして関数を使用することはできません。
イベントハンドラはオブジェクトである必要があります。

イベントハンドラ自体がオブジェクトであるため、thisはイベントハンドラオブジェクトになります。
そのためJavaでthisは使えません。

また昔のIEはaddEventListnerがなくattachEventを使いますが。
attachEventの場合thisはwindowでありe.currentTargetではありません。
つまり初期のIEのDOM APIはもちろんJavaでも使えますが
event.srcElement(e.currentTarget相当)しか実装されてないということです。
thisがe.currentTargetなのはJavaScriptのために作られた仕様です。

614 :デフォルトの名無しさん:2020/07/23(木) 22:44:12.81 ID:k24nyzXR.net
>>607
> JavaScriptにおいてはe.targetを全面的に使うのが正しい。
いいえ。e.targetは廃止されてます。
https://developer.mozilla.org/ja/docs/Web/API/Event/target

わざと正反対のことを書いてるんですかね?

615 :デフォルトの名無しさん:2020/07/23(木) 22:47:04.66 ID:QHkNbR5l.net
>>610
キャプチャフェーズの話はしてない。
なお俺の判断では、キャプチャフェーズは余程のパッチ当て以外では使うべきではない。
あれは使わないでも十分組めるし、そもそもキャプチャフェーズを使わなければならないシチュエーションがまるでない。
だから俺は何であの仕様が入れられたのか不明なのだが、君はそれが分かるか?
具体的に、キャプチャフェーズのユースケースを知りたい。

> jQueryの意味がなくなる?なぜですか?
jQueryは基本的に
queryしたElementに何か(この場合はイベント追加)するのを宣言スタイルで短く分かりやすく書けるのが売りだろ。
バブル主体で書くとそもそもqueryしないから、jQueryを使う意味がないんだよ。
それはやれば分かる。分からないのはやってないからでしかない。

> やめましょう。無関係のイベントハンドラをまとめることは
> 単一責任の原則に違反しています。
無関係ではないんだよ。
そしてその考え方がJava的オブジェクト指向の限界であり、JavaでGUIを誰もやらない理由だよ。
いずれにしても、JavaのGUIなんてキングオブゴミだし、GUIに関してはJava的オブジェクト指向は一旦捨てた方がいい。
実際、.NETにしても、データはバインディングでグローバルストア方式になってるだろ。
(末端のオブジェクトにデータを持たせている風に見せているが、
現実問題としてそれだと状態のセーブが出来なくて(やりにくくて)いきなり詰むから、実際はバインディングでゴニョゴニョ出来るようにしている)
だからJava的な、末端のオブジェクトにデータもイベント関数も全部持たせる、というのがGUIに絶望的に向いてないんだよ。
だからJavaではろくなGUIが作れない、というよりは無駄に苦労するので誰もやらない。その結果が今だ。

> いいえ。殆どがthisを使っています。e.currentTargetは冗長なだけです。
それは君がbubbleを使ってないから。jQueryもだがフレームワーク等は仕様はDOMAPIに合わせているだろうけど、
実際にbubbleの場合はe.currentTargetなんて使い物にならないから当然thisも使わない。
これもやれば分かるだけのこと。君はやってないだけ。

616 :デフォルトの名無しさん:2020/07/23(木) 22:49:01.44 ID:k24nyzXR.net
>>615
> バブル主体で書くとそもそもqueryしないから

そういう意味ですか?
意味不明なので他のわかりやすいサイトを
探し出してください

617 :デフォルトの名無しさん:2020/07/23(木) 22:49:21.91 ID:k24nyzXR.net
×そういう意味ですか?
○どういう意味ですか?

618 :デフォルトの名無しさん:2020/07/23(木) 22:50:10.57 ID:k24nyzXR.net
>それは君がbubbleを使ってないから。

bubbleを使うとやらのコードを書いてください

619 :デフォルトの名無しさん:2020/07/23(木) 22:53:40.02 ID:k24nyzXR.net
Description: The current DOM element within the event 「bubbling」 phase.
https://api.jquery.com/event.currentTarget/

620 :デフォルトの名無しさん:2020/07/23(木) 22:53:41.19 ID:QHkNbR5l.net
>>613
いや俺はthisがオブジェクトそのものだと聞いたが、
まあJavaの仕様については俺は詳しくないし、いずれにしてもスレチだし、この話は止めよう。

>>614
それは初耳だが、
LS見た限り当然載っているから移動されただけではないか?
そのページのLSの所押すと割と丁度いい場所に飛ぶから見てみればいい。

やれば分かるが、バブルで組んだ場合にe.target無しでは組めない。
廃止されるにしても、名前が変わって何かが定義されるとかであって、丸々捨てられることはないよ。
そしてbubbleを使わずに一々全Elementにイベントを付けていくのは完全に旧式であって、
マトモなサイトでは誰もそんなことやってない。
それも確認してみればいい。

621 :デフォルトの名無しさん:2020/07/23(木) 22:54:31.55 ID:k24nyzXR.net
jQuery event.currentTarget
日本語訳 説明:イベントバブリングフェーズ内の現在のDOM要素。

622 :デフォルトの名無しさん:2020/07/23(木) 22:55:20.17 ID:k24nyzXR.net
>>620
だからjQueryはバブルしかサポートしてないし、
jQueryのevent.currentTargetは(DOM APIと同じで)
イベントバブリングフェーズ内の現在のDOM要素。

623 :デフォルトの名無しさん:2020/07/23(木) 22:57:37.04 ID:k24nyzXR.net
>>620
> そしてbubbleを使わずに一々全Elementにイベントを付けていくのは完全に旧式であって、

jQueryでは全Elementにイベントハンドラを使えずに、
ocumentエレメントにイベントハンドラを付ける場合このように書きます。

$(document).on('click', 'a', function() {
 $(this).css("background": "red");
});

知ってましたか?w

624 :デフォルトの名無しさん:2020/07/23(木) 23:16:41.69 ID:k24nyzXR.net
https://jsfiddle.net/m8q15376/

例えばこの2つのコードはイベントハンドラをつけてるところは違いますが
同じよう動作をします。thisが使えない?何の話でしょうかねw

$("#id1").on('click', 'a', function() {
 $(this).css("background", "red");
});

$("#id2 a").on('click', function() {
 $(this).css("background", "red");
});

625 :デフォルトの名無しさん:2020/07/23(木) 23:18:15.34 ID:QHkNbR5l.net
>>622
君と話が通じないのは君がbubble主体で組んだことがないからだよ。
ただし、bubbleの重要性に触れた『初心者向け』サイトは皆無で、俺が知ってるのはuhyohyoだけ。
気になるならそこでも読むんだね。
或いはそこら辺のまともなサイト、ガチの商用サイトだとbubbleを使ってない方が珍しい(と思いたい)から、見てみるとか。
ただし日本のサイトは割とまじで糞で、20年前と同じですねー、ってのも普通にあるからそういうところは駄目だが。
(ここ5chもそうだし)

ちなみに2度目だが、フェースの話はしてない。
イベントがバブルするのを「イベントバブル」と言うんだよ。
これはWPF等でも使われているからJavaScriptのローカル用語ではなくてプログラミング用語だ。
(といっても俺が知っている限りイベントバブルを最初に実装したフレームワークはHTMLで、
それらをWPF等も採り入れたから当然同じ用語になっているだけだが)
そしてそれをbubbleと(短く短くとうるさいお前ら用に)略して言っているだけ。
もう一度言うが、フェーズの話はしてないし、そもそも既に書いたように俺はキャプチャフェーズの存在価値が分からない。
今のところの見方では、あれは不要な仕様だと思う。
jQueryでも対応してないのなら、実際それで困ることはないからだろ。


>>623
知ってる。そしてそれだとjQueryを使う意味が無い=生のDOMAPIでも同様に書けるだろ
だからみんなjQueryを捨て始めてるだけ。
勿論君のようにjQueryが無いと死んじゃう人がそれに抗っているのも知ってる。

626 :デフォルトの名無しさん:2020/07/23(木) 23:21:08.33 ID:k24nyzXR.net
もうわかりましたね? ID:QHkNbR5l はイベントデリゲーションのことを
バブルなんて言ってるわけです(笑)

https://developer.mozilla.org/ja/docs/Web/API/Event/target
> event.target プロパティは、イベントデリゲーションを実装するために使用できます。

所詮オレオレ用語を使うレベルなんですよ

627 :デフォルトの名無しさん:2020/07/23(木) 23:22:10.11 ID:QHkNbR5l.net
>>624
だからそれ明らかにイベントバブル使ってないじゃん。
それを>>623形式で書いた時にe.targetが無いとどうしようもないでしょ。
それを言ってるんだよ。

628 :デフォルトの名無しさん:2020/07/23(木) 23:22:48.51 ID:k24nyzXR.net
>>625
> 知ってる。そしてそれだとjQueryを使う意味が無い=生のDOMAPIでも同様に書けるだろ

では生のDOM APIを使ってe.targetなしで書いてみてください。
できますか? jQueryはe.targetなしで書きました。

629 :デフォルトの名無しさん:2020/07/23(木) 23:23:26.39 ID:k24nyzXR.net
>>627
> だからそれ明らかにイベントバブル使ってないじゃん。]

最初に言ったよね?イベントバブル使うコードかけって
なんでお前かけないの?

630 :デフォルトの名無しさん:2020/07/23(木) 23:24:31.81 ID:k24nyzXR.net
>>627
1. jQueryのコードはイベントバブルしか使わない(使えない)
2. >>623のコードはe.targetを使ってない

ここまではいいですかねぇ(呆れ)

631 :デフォルトの名無しさん:2020/07/23(木) 23:28:46.58 ID:QHkNbR5l.net
>>626
まあ君との話はもうする価値がないから終わりにするけど、
イベントバブルはオレオレ用語ではないと思うよ。
イベントデリゲーションってのは確かにそこにあるが、初めて聞いたが。

e.targetについては、
> 複数の要素に同じイベントハンドラを割り当てて、どれかでイベントがあったときに何かさせたいような場合、e.target はとてつもなく有用なものです。
> 複数の要素に同じイベントハンドラーを割り当てて、どれかでイベントがあったときに何かさせたいような場合、e.target はとてつもなく有用なものです。
と、重要だからか?まじで2回書いてあるし、それが廃止とか使用禁止とかにはならないよ。
https://developer.mozilla.org/ja/docs/Learn/JavaScript/Building_blocks/Events

632 :デフォルトの名無しさん:2020/07/23(木) 23:28:53.91 ID:k24nyzXR.net
> イベントバブルを最初に実装したフレームワークはHTMLで、

笑うしかないわw HTMLがフレームワークとかw

633 :デフォルトの名無しさん:2020/07/23(木) 23:29:21.73 ID:k24nyzXR.net
> イベントデリゲーションってのは確かにそこにあるが、初めて聞いたが。

はい、初めて聞くレベル

634 :デフォルトの名無しさん:2020/07/23(木) 23:29:24.10 ID:HWiYfbuZ.net
>>614
そのMDNの廃止されたって言うのは以前の仕様書が廃止って意味じゃないの?

635 :デフォルトの名無しさん:2020/07/23(木) 23:30:10.44 ID:k24nyzXR.net
> e.targetについては、
> 複数の要素に同じイベントハンドラを割り当てて、どれかでイベントがあったときに何かさせたいような場合、e.target はとてつもなく有用なものです。

↓このコードが複数の要素に同じイベントハンドラを割り当てて、どれかでイベントがあったときに何かさせているコード

https://jsfiddle.net/m8q15376/

$("#id1").on('click', 'a', function() {
 $(this).css("background", "red");
});

636 :デフォルトの名無しさん:2020/07/23(木) 23:56:14.14 ID:k24nyzXR.net
まとめ

こいつはイベントデリゲーション(複数の要素に同じイベントハンドラを割り当てるコード)を
jQueryで書いているコードを見たことがない、もしくは見たことあっても気づかないで
jQueryでもDOM APIと同じように書くしかないはずだ!だからjQueryを使う意味がない!と考えていたようだが
そのイベントデリゲーションこそjQueryでシンプルに書けるコードの一つだったという話です。

637 :デフォルトの名無しさん:2020/07/24(金) 00:01:31.32 ID:2LubhzPR.net
>>633
というかね、「イベントバブル」をオレオレ用語だと噛みついてくる時点でお前はどうかしてる。
JavaScript使ってて今まで聞いたことがないってのは本当に酷い。

MDNにも「イベントのバブリング」とは書いてある。
> https://developer.mozilla.org/ja/docs/Web/Guide/Events/Creating_and_triggering_events
uhyohyoでも「イベントバブリング」って言ってる。
> https://uhyohyo.net/javascript/3_3.html
-ing形だから通じないって事も無いだろうし、そもそもbubbleフェーズを表すと勘違いしても大体通じる内容でしかない。
そこで噛みついてくる意味が分からん。

JavaScriptが世のGUIを席巻しつつあるのは、イベントバブルの功績が大きい。
これがあるのと無いのとでは、GUIの組みやすさの次元が違うんだよ。
だから.NETもWPFで、GTKでもGTK+3から採用されてる。(Qtは知らん)

それを全く使わずにJavaScriptのGUIを語るのは完全に間違ってる。
そこら辺がjQueryしか出来ない人(つまり君とか)の問題だと思うよ。
jQueryしか出来ない人が馬鹿にされているのは君も知っているだろ?そういうことだよ。

638 :デフォルトの名無しさん:2020/07/24(金) 00:22:53.71 ID:fMjVnhWI.net
お前のオレオレ用語っていうのは「バブル主体」だアホめ
なんだよバブル主体って(笑)

639 :デフォルトの名無しさん:2020/07/24(金) 00:24:19.77 ID:fMjVnhWI.net
>>637
> JavaScriptが世のGUIを席巻しつつあるのは、イベントバブルの功績が大きい。

だから、イベントバブルじゃなくてイベントデリゲーションな(笑)
何がオレオレ用語なのかわかってない。
用語の使い方を間違ってんだよお前は。

jQueryはイベントバブルを使ってる

640 :デフォルトの名無しさん:2020/07/24(金) 00:25:21.34 ID:fMjVnhWI.net
何度も言うがjQueryを使うということは
イベントバブルを使ってるということだ

641 :デフォルトの名無しさん:2020/07/24(金) 00:28:52.61 ID:fMjVnhWI.net
ちなみにイベントデリゲーションという用語は
MDNでも使われているが、jQueryが最初に使った用語なんじゃないかと思ってる。

もともとはjQueryでイベントデリゲーションを使う時
delegateというメソッドを使っていたから。それが廃止になりonに統一された。

onに統一された結果、jQueryでイベントデレゲーションを使ったコードと
使ってないコードの差異が減って、e.targetを使わずにthisでコードが書けるようになった。

jQueryでイベントデレゲーションを使うのは、DOM APIを使うよりも
格段にシンプルに書けるようになっている
無関係のイベントハンドラを統合するという単一責任の原則に反するコードを書くことなく
イベントデレゲーションを使うことが可能になっている。

642 :デフォルトの名無しさん:2020/07/24(金) 00:33:37.06 ID:2LubhzPR.net
>>638-640
半島に帰れ

643 :デフォルトの名無しさん:2020/07/24(金) 01:22:11.42 ID:2LubhzPR.net
>>627
訂正、>>624でもバブルを利用しているようだ。

jQueryはこの形式だとDelegated event handlers として扱われ、
on時点でサブクエリして一致した子要素に付けるのではなく、
内部的にバブルしてきたイベントを使い、実行時にクエリして一致を確かめるようだ。(後半部は予想、実装依存)
https://api.jquery.com/on/

だから確かにバブルを利用してはいるが、これだともっさり遅くはなる。(とはいえGUIの場合は大抵問題にはならない)
jQueryは使ってないし今後も使う予定もないので仕様には詳しくなく、見た目で判断してしまった。
なるほど何だかんだで上手く出来てはいる。

が、まあ、いずれにしてもこれをDOMAPIだけで書くのも別段苦労しないし、
jQuery内部でe.targetを使っているだけで、e.targetが無ければjQuery自体が組めないだけでしかない。


>>641
イベントデリゲーションの方がかなりオレオレ用語だと思うが。
確かにMDNには書いてあるが、俺は今まで聞いたこともなかったし、そもそもそれを「デリゲーション(キリッ」とかいうのもどうかしてると思うが。
OOPで言う委譲に当たるから「デリゲーション」なんだろうが、それはOOPで言う「継承か委譲か」、という話とは全然違っていて、
単に親要素でしかなく、子要素とは何の関わりもない。(一応包含してはいるが)
だから無理やりOOP的な解釈をすれば「デリゲート」しかないのだろうけど、
それは、世の中の全てを無理矢理OOPで解釈するJava脳みたいな感覚を受け、
Java以外で普通にOOPを分かっている奴からしたら相当気持ち悪い使い方だし、実際に流行ってもないだろ。
これが気持ち悪いと思わないのは君がOOPを理解してないからだよ。
ただし俺はGUI自体がOOPにフィットしないと思っているから、GUIしかやらないのなら理解している必要はないとも思うけども。

そして君は都合の悪い>>634は無視なのか?
既に言ったが、現在の状況でe.targetが無くなることはない。
ただ、あの辺デタラメに拡張して仕様がグダグダなので、整理しろよな、とは思うが。

644 :デフォルトの名無しさん:2020/07/24(金) 01:48:12.97 ID:2LubhzPR.net
ちなみにgoogle、

イベントバブル 約 22,500,000 件 (0.43 秒)
イベントデリゲーション 約 23,600 件 (0.28 秒)

645 :デフォルトの名無しさん:2020/07/24(金) 06:57:14 ID:9v9Epd9J.net
バブリングフェーズとイベントデリゲーションはバスタブとミカンくらい意味が違うがおんなじもんだと思ってたわけ?w

バブリングフェーズはイベント伝搬のステージのことで、
div
a
a
という構造ならhtmlからdiv→aと伝搬してくるのがキャプチヤリングフェーズ。
その後a→divとhtmlまで戻っていくのがバブリングフェーズ。

イベントデリゲーションは2つのaにイベントパンドラ設定するよりdiv1つに設定してaのイベントまとめてハンドルしてもらいましょうというやり方。

a(子)のイベントハンドリングをdiv(親または祖先)に委譲(delegate)するからイベントデリゲーション。

ちんちんとマンチェスターユナイテッドくらい意味が違うけどおんなじもんだと思ってたわけ?w

646 :デフォルトの名無しさん:2020/07/24(金) 07:07:22.97 ID:fMjVnhWI.net
>>643
イベントバブルっていうのはイベントがバブルのように上に上がっていくってだけで
一つのイベントハンドラで処理を行うって意味じゃねーんだよw
あーほ

647 :デフォルトの名無しさん:2020/07/24(金) 07:07:57.79 ID:fMjVnhWI.net
>>643
> だから確かにバブルを利用してはいるが、これだともっさり遅くはなる。(とはいえGUIの場合は大抵問題にはならない)
遅くなるの理由が何もないwww

648 :デフォルトの名無しさん:2020/07/24(金) 07:09:14.13 ID:fMjVnhWI.net
>>643
> 確かにMDNには書いてあるが、俺は今まで聞いたこともなかったし、

それがすべて。お前が無知なだけ

649 :デフォルトの名無しさん:2020/07/24(金) 07:10:55.78 ID:fMjVnhWI.net
結局の所 >>636 の まとめで書いたとおり

こいつはイベントデリゲーション(複数の要素に同じイベントハンドラを割り当てるコード)を
jQueryで書いているコードを見たことがない、もしくは見たことあっても気づかないで
jQueryでもDOM APIと同じように書くしかないはずだ!だからjQueryを使う意味がない!と考えていたようだが
そのイベントデリゲーションこそjQueryでシンプルに書けるコードの一つだったという話です。


そのイベントデリゲーションこそjQueryでシンプルに書けるコードの一つだったという話です。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

650 :デフォルトの名無しさん:2020/07/24(金) 07:27:42.03 ID:fMjVnhWI.net
>>643
> が、まあ、いずれにしてもこれをDOMAPIだけで書くのも別段苦労しないし、

だから最初に書けと言ってる。なんで書かないのか?

651 :デフォルトの名無しさん:2020/07/24(金) 08:10:38.59 ID:2LubhzPR.net
>>645
お前が日本語が出来なくていろいろ勘違いしてるだけだろ。

まず示したように、「イベントデリゲーション」なんて言葉は誰も使ってないから止めとけ。
イベントバブルの説明に必ず出てくる言葉なら、使用頻度=ヒットページ数も1:1になるはずであって、
約1000:1ってのは誰も使ってないって事でしかない。

> バブリングフェーズとイベントデリゲーションはバスタブとミカンくらい意味が違うがおんなじもんだと思ってたわけ?w
俺は同じ物だとは一言も言ってない。それを勝手に誤解しているのはお前の日本語が韓国人レベルだからだ。
ただ、これらは表裏一体であって、イベントがバブルしなければ纏めるも何もないので、
お前が思っているほど区別する意味もない。
お前みたいな文系馬鹿はやたら細かく区別して意味無くドヤる傾向があるが、プログラミングってのはそもそもそういうものではない。

実際問題として、イベントバブルを説明する際に、
確かに「バブルしてくるイベントを親で捕らえて纏めて処理する」事を示す名詞が欲しい、というのはあるだろう。
ただ、誰もそこで「イベントデリゲーション」なんて言葉を使ってないから1000:1の使用頻度になってる。
実際は、「バブルしてくるイベントを親で捕らえて」とそのまま言っているのだと思う。
ただそもそもバブルさせる=親で捕らえて纏めて処理する大前提だから、それ含めてイベントバブルでも大して問題ないんだよ。

652 :デフォルトの名無しさん:2020/07/24(金) 08:10:58.84 ID:2LubhzPR.net
同様にお前が無駄に拘っているのが以下だが、
> > イベントバブルを最初に実装したフレームワークはHTMLで、
> 笑うしかないわw HTMLがフレームワークとかw (>>632)
HTML/CSS/JavaScriptはほぼ常にセットで使われていて、どれだと区別する意味はないし、
確かに厳密にはどれでもないからWebAPIとか別括りにされてるが、そこに拘る意味もない。
俺は「イベントバブルを最初に実装した『フレームワークが』がHTMLだと言った。
お前的には「プラットフォーム」か、または別用語が適切なのかもしれんが、
いずれにしても言葉というのはコミュニケーションの手段であって、つまり通じるかどうかが最重要であって、
明らかに通じているのに揚げ足取りしているつもり?でドヤって来るのも頭おかしいとしか思えないが。
(オレオレ用語を使うなってのは「通じないから使うな」ということであって、オレオレ用語を使うこと自体が悪いというわけではない)

お前いつものjQuery厨か?
ならお前はここ2〜3年、まるで成長してないな。


>>650
むしろお前がそれを書けないと言っているに近いが、それをお前は認めるか?
日本語が通じない馬鹿なお前の為に敢えて言い直すと、
お前が「僕は書けませんから書いてみてください」と言うのなら書くが、
あまりに簡単すぎてお前の馬鹿さが際だつだけだぞ。


いずれにしても、脱jQueryなんてのが出てくるのはjQueryを使う意味がなくなりつつあるからであって、
お前がそれを気に入らなくても、それは事実として認めるしかないし、
実際にjQueryから輸入された仕様もあるのだからjQuery自体が糞だったわけでもないんだよ。
ただ、役割を終えつつある、というだけの話であってさ。

653 :デフォルトの名無しさん:2020/07/24(金) 08:42:13.69 ID:9v9Epd9J.net
バブリングフェーズとイベントデリゲーションはバスタブとミカンくらい意味が違うがおんなじもんだと思ってたわけ?w

654 :デフォルトの名無しさん:2020/07/24(金) 08:55:46.07 ID:fMjVnhWI.net
> まず示したように、「イベントデリゲーション」なんて言葉は誰も使ってないから止めとけ。



https://developer.mozilla.org/ja/docs/Web/API/Event/target
event.target プロパティは、イベントデリゲーションを実装するために使用できます。

https://developer.mozilla.org/en-US/docs/Web/API/Event/target
The event.target property can be used in order to implement event delegation.

655 :デフォルトの名無しさん:2020/07/24(金) 08:56:14 ID:9v9Epd9J.net
> まず示したように、「イベントデリゲーション」なんて言葉は誰も使ってないから止めとけ。

えーっと、ボクチン英語が分かりませーんという話かな?www
英語
https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/Events#Event_delegation
日本語
https://developer.mozilla.org/docs/Learn/JavaScript/Building_blocks/Events#Event_delegation

656 :デフォルトの名無しさん:2020/07/24(金) 08:58:29.43 ID:L9K/ZYyg.net
URLからしてイベントデリゲーション使ってるなw
誰も使ってない用語とは…?w

657 :デフォルトの名無しさん:2020/07/24(金) 08:58:39.33 ID:fMjVnhWI.net
>>651
> イベントバブルの説明に必ず出てくる言葉なら、

でてくるわけねーだろw
イベントバブル=イベントデリゲーションじゃねーんだから

DOM APIのイベントモデルではイベントバブルがデフォルトで使われる
イベントモデルの説明でバブルフェーズとキャプチャフェーズの話は出る
だがイベントデリゲーションはかならず使うものではない

お前が、イベントバブル=イベントデリゲーション (つまり同じ意味)だと
勘違いしてるから、使用頻度=ヒットページ数も1:1になるという間違った結論になってる

イベントデリゲーションはかならず使うものじゃないんだから
イベントデリゲーションの方が数は少なくなるのは当たり前

658 :デフォルトの名無しさん:2020/07/24(金) 09:03:00.98 ID:9v9Epd9J.net
プッチンプリンとにんにく卵黄は同じものだ!
その証拠に、卵黄にんにくのほうが検索ヒット数が少ない!!

にんにく卵黄なんて用語は誰も使ってない!
プッチンプリンが正しい!!


???wwwww

659 :デフォルトの名無しさん:2020/07/24(金) 09:08:11.32 ID:fMjVnhWI.net
>>652
> 俺は「イベントバブルを最初に実装した『フレームワークが』がHTMLだと言った。

HTMLの仕様にイベントバブルなんてものはない
DOM APIの仕様だ

「イベントバブルを最初に実装した」というのはどういう意味か言ってみ
上の要素でイベントを捕まえて処理することではないのはもう理解してるよな

お前は「イベントがDOM要素の下位から上位へバブルのように登っていくこと」を実装した。
と言ってるわけだが、自分で理解してるのか?

660 :デフォルトの名無しさん:2020/07/24(金) 09:09:27.92 ID:fMjVnhWI.net
>>652
> むしろお前がそれを書けないと言っているに近いが、それをお前は認めるか?

だからさっさと書けよ。お前をテストしてやってるに決まってるだろw
最初からコード書けと言ってるのになんで書けないのは
お前がそれを書けないと言っているに近いが、それをお前は認めるか?

661 :デフォルトの名無しさん:2020/07/24(金) 09:21:46.61 ID:fMjVnhWI.net
脱jQueryなんて言葉が出てきても、脱jQueryが進んでいないのは事実だろ

https://w3techs.com/technologies/history_overview/javascript_library/all/y

jQuery
2017年1月 71.9%
2018年1月 73.1% (+0.1%/月)
2019年1月 73.6% (+0.05%/月)
2020年1月 74.2%
同年2月 74.4% (+0.2%/月)※1ヶ月経過時点
同年6月 75.5% (+0.26%/月))※5ヶ月経過時点
同年7月 76.0% (+0.3%/月)※6ヶ月経過時点

今年はなぜかjQueryのシェアの増加が加速してきてるんだわ。
最初の1ヶ月で0.2%しか増えてなかったのに、
6ヶ月後は1.2%増ではなく1.8%増、増加スピードが上がってる

後半さらに増加スピードが上がるとは思えないが、
このペースだと今年は1年で4%も増える可能性だってある。
ここ数年1%程度しか増えていなかったのに不思議だ

脱jQueryなんて所詮言葉だけだったということだ

662 :デフォルトの名無しさん:2020/07/24(金) 09:24:24.50 ID:2LubhzPR.net
>>657
> イベントデリゲーションはかならず使うものじゃないんだから
> イベントデリゲーションの方が数は少なくなるのは当たり前
ここが違う。
バブルを利用する時点で「親で纏めて処理する」大前提なんだよ。これも既に言ったが。
逆に、バブルだけしても親で処理しないのなら意味無いだろ。
(まあバブル自体は勝手にするのだが)

だからイベントバブルの説明の際には必ず「親で処理する」事が含まれるんだよ。
これもお前みたいな文系馬鹿は「知識」としてそれぞれを別々にインストールしているから分からないのだろうが、
イベントバブルの説明=イベントバブル自体とその使い方の説明=当然親でイベントを纏めて処理する=「イベントデリゲーション」も説明される
なんだよ。イベントバブルをお前はJavaScriptの「知識」として捕らえ、
「バブルフェーズとキャプチャフェーズ」もまた別の知識であり、
「イベントデリゲーション」も全く別の手法として「別知識」としているから駄目なんだ。

イベントバブルだけ理解しても、普通は、「ほ〜ん、で?何が嬉しいの?」となるから、どうやって使うか、何が美味しいかまで説明されてる。
だけどそこでは誰も「イベントデリゲーション」と言ってないから1000:1の使用頻度になってる。
ただし実際にイベントバブルを活用するにはそれなりの知識と設計が必要であり、
初心者には無理だから初心者用サイトでの説明は皆無で、既に言ったとおり俺が知っているのはuhyohyoだけ。
そしてここら辺が有機的に繋がっているのを理解出来ないのは君が「イベントバブルを活用するのは難しい初心者」レベルだから。

お前は相変わらず初心者のままなんだよ。

663 :デフォルトの名無しさん:2020/07/24(金) 09:30:06.20 ID:fMjVnhWI.net
> バブルを利用する時点で「親で纏めて処理する」大前提なんだよ。これも既に言ったが。

誰が言ってるんですか?
そうであってほしいという願望ですよねw

664 :デフォルトの名無しさん:2020/07/24(金) 09:35:52.90 ID:2LubhzPR.net
>>659
> DOM APIの仕様だ
まあ厳密にはあれはDOMに入れるべき物でもないんだよ。
だから今も「For web developers(non-nomative)」という中途半端な扱いになってる。
あれはDOMと言うよりはプログラミングモデルであって、本来は別仕様を起こすべきなのだが、
それを言いだしたらきりがないから現状はDOMに突っ込まれているだけでさ。

> 「イベントバブルを最初に実装した」というのはどういう意味か言ってみ
> お前は「イベントがDOM要素の下位から上位へバブルのように登っていくこと」を実装した。
そうだぞ。俺はそう言ったんだ。
イベントがバブルするGUIフレームワークというのは、俺が知ってる中ではHTML/CSS/JavaScriptが初だよ。
それ以前の、XやMFC、.NET(Forms)ではバブルしない。

むしろお前は何をどう勘違いして俺に突っかかってきてるんだ?


>>660
お前が簡単に書けるのなら書かないよ。書く意味もないし。
それってconsoleログ知ってる俺スゲー的なレベルであって、そんなもん一々コード書いてても時間の無駄だろ。


>>661
そう思うのならそれでいいと思うが。
必死にjQueryにすがるからおかしくなるだけで。
必要ない人はjQueryを使わないし、実際必要なくなりつつあるだけの話で、必要だと思えば使い続ければいいし、それだけだろ。

665 :デフォルトの名無しさん:2020/07/24(金) 09:39:24.99 ID:2LubhzPR.net
>>663
なら逆に、「イベントバブルを利用するが親ではイベントを処理しない」方式で何か有効活用出来るか?
それがあれば「大前提」ってのは俺の勘違いだと認めるが。

666 :デフォルトの名無しさん:2020/07/24(金) 09:39:35.00 ID:fMjVnhWI.net
さて、どこに親で処理すると書いてあるのでしょうか?w
https://en.wikipedia.org/wiki/Event_bubbling

Use of Event Bubbling
To handle cases where one event has more than one handler,
event bubbling concept can be implemented. The major use of
event bubbling is the registration of default functions present in the program.
In recent times, not many developers use event capturing or bubbling in particular.
It is not necessary to implement event bubbling; it may become complicated for
the users to keep track of the actions getting executed because of an event.[1]

英語は読めるけど(あんたために、でも面倒なので)Google翻訳しますねw

イベントバブリングの使用
1つのイベントに複数のハンドラーがある場合を処理するために、イベントバブリングの概念を実装できます。
イベントバブリングの主な用途は、プログラムに存在するデフォルト関数の登録です。
最近では、特にイベントキャプチャやバブリングを使用する開発者は多くありません。
イベントバブリングを実装する必要はありません。イベントのために実行されるアクションを
ユーザーが追跡するのは複雑になる場合があります。[1]



「1つのイベントに複数のハンドラーがある場合を処理するため」というのは
要素をクリックしたときに、クリックした要素→それが含まれた親要素→さらにそれらが含まれた親要素と
複数の要素(の複数のクリックイベントハンドラ)が実行されるわけです。
これがイベントバブリングの例として上げられています。

そして主な用途はデフォルト関数(デフォルト処理)の登録です。
またイベントキャプチャやバブリングを使用する開発者は多くないとまで書いてあります。
親でまとめて処理する話はでてきていません。

面白いですね(笑)

667 :デフォルトの名無しさん:2020/07/24(金) 09:41:46.92 ID:fMjVnhWI.net
>>664
> むしろお前は何をどう勘違いして俺に突っかかってきてるんだ?

何をどうって、jQueryはイベントバブリングしかサポートしてないのに
jQueryでイベントバブルを使うと意味がないと言っただろw

どういう意味ですか?jQueryはイベントバブルしか使いませんよ?
イベントバブルを使うということは親で処理するって意味じゃありませんよ?
わかってますかw

668 :デフォルトの名無しさん:2020/07/24(金) 09:42:35.90 ID:fMjVnhWI.net
>>665
> なら逆に、「イベントバブルを利用するが親ではイベントを処理しない」方式で何か有効活用出来るか?
英語のwikipediaにかいてある。

> それがあれば「大前提」ってのは俺の勘違いだと認めるが。
それがあったのでお前の勘違いだと認めるようにw

669 :デフォルトの名無しさん:2020/07/24(金) 09:43:33.55 ID:fMjVnhWI.net
>>664
> イベントがバブルするGUIフレームワークというのは、俺が知ってる中ではHTML/CSS/JavaScriptが初だよ。

HTML/CSS/JavaScriptのいずれの仕様でもありません。

DOMの仕様です。DOMです。Javaでも使えるDOMです。
何度言えば理解できるんだ?

670 :デフォルトの名無しさん:2020/07/24(金) 09:48:58.90 ID:2LubhzPR.net
>>666
wikiじゃねーかよ!そりゃ書いた奴が分かってねえんだよ。
既に言ったが、世の中のGUIフレームワークはイベントバブルをこぞって採用してる。
.NETはWPFから、GTKは3から。Qtは知らんが間違いなく採用はされるかその方向の筈。
理由も既に言ったとおり、バブルが出来れば非常に効率よくGUIを実装出来るから、
それに慣れると、バブルが出来ないフレームワークなんてゴミにしか見えなくなるから。


>>667-669
どうにもお前とは話が噛み合わないからこの辺で終わりにしておこう。
色々既に言ったとおりだ。気になるなら読み返してみてくれ。

671 :デフォルトの名無しさん:2020/07/24(金) 09:49:55.44 ID:fMjVnhWI.net
>>670
> wikiじゃねーかよ!そりゃ書いた奴が分かってねえんだよ。

お前はwikipedia以外のなにか信用できるものを持ってきたか?
お前の意見はwikipedia以下だってことは理解してるか?

672 :デフォルトの名無しさん:2020/07/24(金) 09:52:19.09 ID:fMjVnhWI.net
>>670
jQueryは最初からイベントバブルを採用してるのを知らないで
イベントバブルだとjQueryの意味がなくなる!

といった話はどうなったの?w

別の話に逃げたねw

466 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver.24052200