JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net (766レス)
JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1449440793/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
637: デフォルトの名無しさん [sage] 2020/07/24(金) 00:22:53.71 ID:fMjVnhWI お前のオレオレ用語っていうのは「バブル主体」だアホめ なんだよバブル主体って(笑) http://mevius.5ch.net/test/read.cgi/tech/1449440793/637
638: デフォルトの名無しさん [sage] 2020/07/24(金) 00:24:19.77 ID:fMjVnhWI >>636 > JavaScriptが世のGUIを席巻しつつあるのは、イベントバブルの功績が大きい。 だから、イベントバブルじゃなくてイベントデリゲーションな(笑) 何がオレオレ用語なのかわかってない。 用語の使い方を間違ってんだよお前は。 jQueryはイベントバブルを使ってる http://mevius.5ch.net/test/read.cgi/tech/1449440793/638
639: デフォルトの名無しさん [sage] 2020/07/24(金) 00:25:21.34 ID:fMjVnhWI 何度も言うがjQueryを使うということは イベントバブルを使ってるということだ http://mevius.5ch.net/test/read.cgi/tech/1449440793/639
640: デフォルトの名無しさん [sage] 2020/07/24(金) 00:28:52.61 ID:fMjVnhWI ちなみにイベントデリゲーションという用語は MDNでも使われているが、jQueryが最初に使った用語なんじゃないかと思ってる。 もともとはjQueryでイベントデリゲーションを使う時 delegateというメソッドを使っていたから。それが廃止になりonに統一された。 onに統一された結果、jQueryでイベントデレゲーションを使ったコードと 使ってないコードの差異が減って、e.targetを使わずにthisでコードが書けるようになった。 jQueryでイベントデレゲーションを使うのは、DOM APIを使うよりも 格段にシンプルに書けるようになっている 無関係のイベントハンドラを統合するという単一責任の原則に反するコードを書くことなく イベントデレゲーションを使うことが可能になっている。 http://mevius.5ch.net/test/read.cgi/tech/1449440793/640
645: デフォルトの名無しさん [sage] 2020/07/24(金) 07:07:22.97 ID:fMjVnhWI >>642 イベントバブルっていうのはイベントがバブルのように上に上がっていくってだけで 一つのイベントハンドラで処理を行うって意味じゃねーんだよw あーほ http://mevius.5ch.net/test/read.cgi/tech/1449440793/645
646: デフォルトの名無しさん [sage] 2020/07/24(金) 07:07:57.79 ID:fMjVnhWI >>642 > だから確かにバブルを利用してはいるが、これだともっさり遅くはなる。(とはいえGUIの場合は大抵問題にはならない) 遅くなるの理由が何もないwww http://mevius.5ch.net/test/read.cgi/tech/1449440793/646
647: デフォルトの名無しさん [sage] 2020/07/24(金) 07:09:14.13 ID:fMjVnhWI >>642 > 確かにMDNには書いてあるが、俺は今まで聞いたこともなかったし、 それがすべて。お前が無知なだけ http://mevius.5ch.net/test/read.cgi/tech/1449440793/647
648: デフォルトの名無しさん [sage] 2020/07/24(金) 07:10:55.78 ID:fMjVnhWI 結局の所 >>635 の まとめで書いたとおり こいつはイベントデリゲーション(複数の要素に同じイベントハンドラを割り当てるコード)を jQueryで書いているコードを見たことがない、もしくは見たことあっても気づかないで jQueryでもDOM APIと同じように書くしかないはずだ!だからjQueryを使う意味がない!と考えていたようだが そのイベントデリゲーションこそjQueryでシンプルに書けるコードの一つだったという話です。 そのイベントデリゲーションこそjQueryでシンプルに書けるコードの一つだったという話です。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ http://mevius.5ch.net/test/read.cgi/tech/1449440793/648
649: デフォルトの名無しさん [sage] 2020/07/24(金) 07:27:42.03 ID:fMjVnhWI >>642 > が、まあ、いずれにしてもこれをDOMAPIだけで書くのも別段苦労しないし、 だから最初に書けと言ってる。なんで書かないのか? http://mevius.5ch.net/test/read.cgi/tech/1449440793/649
653: デフォルトの名無しさん [sage] 2020/07/24(金) 08:55:46.07 ID:fMjVnhWI > まず示したように、「イベントデリゲーション」なんて言葉は誰も使ってないから止めとけ。 ↓ 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. http://mevius.5ch.net/test/read.cgi/tech/1449440793/653
656: デフォルトの名無しさん [sage] 2020/07/24(金) 08:58:39.33 ID:fMjVnhWI >>650 > イベントバブルの説明に必ず出てくる言葉なら、 でてくるわけねーだろw イベントバブル=イベントデリゲーションじゃねーんだから DOM APIのイベントモデルではイベントバブルがデフォルトで使われる イベントモデルの説明でバブルフェーズとキャプチャフェーズの話は出る だがイベントデリゲーションはかならず使うものではない お前が、イベントバブル=イベントデリゲーション (つまり同じ意味)だと 勘違いしてるから、使用頻度=ヒットページ数も1:1になるという間違った結論になってる イベントデリゲーションはかならず使うものじゃないんだから イベントデリゲーションの方が数は少なくなるのは当たり前 http://mevius.5ch.net/test/read.cgi/tech/1449440793/656
658: デフォルトの名無しさん [sage] 2020/07/24(金) 09:08:11.32 ID:fMjVnhWI >>651 > 俺は「イベントバブルを最初に実装した『フレームワークが』がHTMLだと言った。 HTMLの仕様にイベントバブルなんてものはない DOM APIの仕様だ 「イベントバブルを最初に実装した」というのはどういう意味か言ってみ 上の要素でイベントを捕まえて処理することではないのはもう理解してるよな お前は「イベントがDOM要素の下位から上位へバブルのように登っていくこと」を実装した。 と言ってるわけだが、自分で理解してるのか? http://mevius.5ch.net/test/read.cgi/tech/1449440793/658
659: デフォルトの名無しさん [sage] 2020/07/24(金) 09:09:27.92 ID:fMjVnhWI >>651 > むしろお前がそれを書けないと言っているに近いが、それをお前は認めるか? だからさっさと書けよ。お前をテストしてやってるに決まってるだろw 最初からコード書けと言ってるのになんで書けないのは お前がそれを書けないと言っているに近いが、それをお前は認めるか? http://mevius.5ch.net/test/read.cgi/tech/1449440793/659
660: デフォルトの名無しさん [sage] 2020/07/24(金) 09:21:46.61 ID:fMjVnhWI 脱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なんて所詮言葉だけだったということだ http://mevius.5ch.net/test/read.cgi/tech/1449440793/660
662: デフォルトの名無しさん [sage] 2020/07/24(金) 09:30:06.20 ID:fMjVnhWI > バブルを利用する時点で「親で纏めて処理する」大前提なんだよ。これも既に言ったが。 誰が言ってるんですか? そうであってほしいという願望ですよねw http://mevius.5ch.net/test/read.cgi/tech/1449440793/662
665: デフォルトの名無しさん [sage] 2020/07/24(金) 09:39:35.00 ID:fMjVnhWI さて、どこに親で処理すると書いてあるのでしょうか?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つのイベントに複数のハンドラーがある場合を処理するため」というのは 要素をクリックしたときに、クリックした要素→それが含まれた親要素→さらにそれらが含まれた親要素と 複数の要素(の複数のクリックイベントハンドラ)が実行されるわけです。 これがイベントバブリングの例として上げられています。 そして主な用途はデフォルト関数(デフォルト処理)の登録です。 またイベントキャプチャやバブリングを使用する開発者は多くないとまで書いてあります。 親でまとめて処理する話はでてきていません。 面白いですね(笑) http://mevius.5ch.net/test/read.cgi/tech/1449440793/665
666: デフォルトの名無しさん [sage] 2020/07/24(金) 09:41:46.92 ID:fMjVnhWI >>663 > むしろお前は何をどう勘違いして俺に突っかかってきてるんだ? 何をどうって、jQueryはイベントバブリングしかサポートしてないのに jQueryでイベントバブルを使うと意味がないと言っただろw どういう意味ですか?jQueryはイベントバブルしか使いませんよ? イベントバブルを使うということは親で処理するって意味じゃありませんよ? わかってますかw http://mevius.5ch.net/test/read.cgi/tech/1449440793/666
667: デフォルトの名無しさん [sage] 2020/07/24(金) 09:42:35.90 ID:fMjVnhWI >>664 > なら逆に、「イベントバブルを利用するが親ではイベントを処理しない」方式で何か有効活用出来るか? 英語のwikipediaにかいてある。 > それがあれば「大前提」ってのは俺の勘違いだと認めるが。 それがあったのでお前の勘違いだと認めるようにw http://mevius.5ch.net/test/read.cgi/tech/1449440793/667
668: デフォルトの名無しさん [sage] 2020/07/24(金) 09:43:33.55 ID:fMjVnhWI >>663 > イベントがバブルするGUIフレームワークというのは、俺が知ってる中ではHTML/CSS/JavaScriptが初だよ。 HTML/CSS/JavaScriptのいずれの仕様でもありません。 DOMの仕様です。DOMです。Javaでも使えるDOMです。 何度言えば理解できるんだ? http://mevius.5ch.net/test/read.cgi/tech/1449440793/668
670: デフォルトの名無しさん [sage] 2020/07/24(金) 09:49:55.44 ID:fMjVnhWI >>669 > wikiじゃねーかよ!そりゃ書いた奴が分かってねえんだよ。 お前はwikipedia以外のなにか信用できるものを持ってきたか? お前の意見はwikipedia以下だってことは理解してるか? http://mevius.5ch.net/test/read.cgi/tech/1449440793/670
671: デフォルトの名無しさん [sage] 2020/07/24(金) 09:52:19.09 ID:fMjVnhWI >>669 jQueryは最初からイベントバブルを採用してるのを知らないで イベントバブルだとjQueryの意味がなくなる! といった話はどうなったの?w 別の話に逃げたねw http://mevius.5ch.net/test/read.cgi/tech/1449440793/671
672: デフォルトの名無しさん [sage] 2020/07/24(金) 10:00:24.59 ID:fMjVnhWI まとめ更新 こいつはイベントバブルの用途をイベントデリゲーション(複数の要素に同じイベントハンドラを割り当てるコード)しかしらず イベントバブル=イベントデリゲーションのことだ!と思い込んでオレオレ用語で「イベントバブルを実装!」と言っていた こいつは自分にしか理解できない間違った用語の使い方を指定ながら、コミュニケーションがどうとか語っていた こいつはMDNにかかれているイベントデリゲーションのページを見せても 世の中で使われてない!と強弁した。 こいつはHTML/CSS/JavaScriptがイベントバブルを実装した最初のフレームワークだと言った。 (当たり前がHTMLはマークアップ言語、CSSはスタイルシート、JavaScriptは言語で どれにもイベントバブルに関する実装など存在しない。イベントバブルはDOMで規定されている) こいつはjQueryは最初からイベントバブルに対応していたことも知らず、 (というか古いIEがイベントバブルしか実装されていなかったのでキャプチャフェーズに対応するのは不可能) イベントバブルを使うとjQueryを使う意味がないと言った。 そしてjQueryで書いているコードを見たことがない、もしくは見たことあっても気づかないで jQueryでもDOM APIと同じように書くしかないはずだ!だからjQueryを使う意味がない!と言っていた。 jQueryで(イベントバブルではなくw)イベントデリゲーションで実装してるコードを見せても イベントバブルを使ってない!とか意味のわからないことを言った。 イベントデリゲーションこそjQueryだとDOM APIよりもシンプルに書けるコードの一つだった こいつは脱jQueryが進んでいない現状を示しても、その事実を受け入れることができなかった http://mevius.5ch.net/test/read.cgi/tech/1449440793/672
673: デフォルトの名無しさん [sage] 2020/07/24(金) 10:01:50.66 ID:fMjVnhWI jQueryおじさん完全勝利(笑) http://mevius.5ch.net/test/read.cgi/tech/1449440793/673
675: デフォルトの名無しさん [sage] 2020/07/24(金) 10:13:31.15 ID:fMjVnhWI もう負け逃げしたようだが、 イベントバブルの一番のユースケースはこれなんだよ <a href="link">link<span>test<span></a> 1. aのクリックイベントハンドラ 2. spanのクリックイベントハンドラ 両方のイベントハンドラを設定することができ 両方のイベントハンドラが発動する これがwikipediaに書いてあったことの具体的な意味 そのイベント発動を行うフェーズがバブリングフェーズとキャプチャフェーズの二種類あり バブリングフェーズにおいて下位の要素から上位の要素に伝搬することを イベントバブリング(イベントバブル動作)という (イベントバブルだけでは意味が不明確) http://mevius.5ch.net/test/read.cgi/tech/1449440793/675
676: デフォルトの名無しさん [sage] 2020/07/24(金) 10:15:13.60 ID:fMjVnhWI >>674 まだ繰り返すのかw > jQueryの得意とするqueryをすることがないからjQueryを使う意味がない、と言ったんだよ。 めんどくさいから突っ込まなかったことろを再掲するとかアホやなぁ 「queryをすること」ってなんだよ。どういう意味なのか言ってみ queryしているコードを書いてみろって http://mevius.5ch.net/test/read.cgi/tech/1449440793/676
677: デフォルトの名無しさん [sage] 2020/07/24(金) 10:17:09.02 ID:fMjVnhWI 先に書いてやるか jQueryでqueryすること(意味がよくわからんが)と言われれば 普通に思いつくのは、$('#id1"') とかなわけだが >>623で「イベントデリゲーション」を使ったコードでも このようにqueryしてますがなにか? https://jsfiddle.net/m8q15376/ $("#id1").on('click', 'a', function() { $(this).css("background", "red"); }); http://mevius.5ch.net/test/read.cgi/tech/1449440793/677
678: デフォルトの名無しさん [sage] 2020/07/24(金) 10:18:57.42 ID:fMjVnhWI >>674 > つまり一つのElementに複数のイベントハンドラを付けたい時にバブルを活用出来るとか、 そんなことは英語に書いてない > To handle cases where one event(一つのイベントが) has more than one handler (一つ以上のハンドラを持っている場合), event bubbling concept can be implemented. 「一つのElementに複数のイベントハンドラを付けたい」などとは書いていない。 http://mevius.5ch.net/test/read.cgi/tech/1449440793/678
679: デフォルトの名無しさん [sage] 2020/07/24(金) 10:20:19.73 ID:fMjVnhWI せっかくGoogle翻訳もしてやったのに 英語読めないなら、ちゃんと日本語も読めよ(笑) http://mevius.5ch.net/test/read.cgi/tech/1449440793/679
680: デフォルトの名無しさん [sage] 2020/07/24(金) 10:23:00.47 ID:fMjVnhWI >>674 > そもそもバブルは(お前が拘っている『DOMの仕様』なのだから)jQueryとは関係なく、勝手にする物だ。 お前最初に、バブルは勝手にするものじゃなくて 親でまとめてイベント処理することだって言ってたじゃんwww 自分が使っていた用語が間違っていましたって認めたの? http://mevius.5ch.net/test/read.cgi/tech/1449440793/680
683: デフォルトの名無しさん [sage] 2020/07/24(金) 10:44:43.06 ID:fMjVnhWI >>681 > そして俺が言ってるのは、親にeventhandlerを付けるのならその辺のおいしさが全くなくなる、ということだよ。 だからその親にeventhandlerを付けるコード書けって言ってるんだが? 俺はそれがすごく読みづらくなって、jQueryで書いたらシンプルになると知ってるわけ さっさと書けよ。ここまで言って書かないのは、 お前がそれを書けないと言っているに近いが、それをお前は認めるか? http://mevius.5ch.net/test/read.cgi/tech/1449440793/683
684: デフォルトの名無しさん [sage] 2020/07/24(金) 10:45:17.15 ID:fMjVnhWI >>682 > 一つのイベントが複数のイベントハンドラを持ちたい場合か。 > しかし何だそりゃ?て話だがな。 知らんのね(笑) http://mevius.5ch.net/test/read.cgi/tech/1449440793/684
685: デフォルトの名無しさん [sage] 2020/07/24(金) 10:46:32.32 ID:fMjVnhWI >>682 > 逆に、本当にこのケース「一つのイベントに複数のハンドラを持たせたい為」にバブルを利用して、 > それ以外の方法では美しく実装出来ないケースがあれば確かに俺の勘違いだと認めるが、あるか? 俺の勘違いだと認めるがと言っておきながら、 wikipediaの例を出したら認めなかっただろ 嘘つきだよなw http://mevius.5ch.net/test/read.cgi/tech/1449440793/685
686: デフォルトの名無しさん [sage] 2020/07/24(金) 10:48:00.94 ID:fMjVnhWI > 何度も言ってるが、俺はそれがないから「バブルを利用する=親で纏めて処理」だと思っているわけでさ。 jQueryはイベントバブルにしか対応してないから、 すべてがイベントバブルを利用してるの 親でまとめて処理してなくてもイベントバブルを利用してるの http://mevius.5ch.net/test/read.cgi/tech/1449440793/686
687: デフォルトの名無しさん [sage] 2020/07/24(金) 10:52:08.90 ID:fMjVnhWI > 逆に、本当にこのケース「一つのイベントに複数のハンドラを持たせたい為」にバブルを利用して、 > それ以外の方法では美しく実装出来ないケースがあれば確かに俺の勘違いだと認めるが、あるか? 一つのイベント・・・click それ以外の方法では美しく実装出来ないケース・・・google map お前の勘違いだって認めようねw http://mevius.5ch.net/test/read.cgi/tech/1449440793/687
691: デフォルトの名無しさん [sage] 2020/07/24(金) 11:12:00.44 ID:fMjVnhWI >>689 堂々巡りなのはお前が間違いを認めないからだろ jQueryの話をなかったことにするな。 お前がレスするのを逃げてるのはこれだな 先に書いてやるか jQueryでqueryすること(意味がよくわからんが)と言われれば 普通に思いつくのは、$('#id1"') とかなわけだが >>623で「イベントデリゲーション」を使ったコードでも このようにqueryしてますがなにか? https://jsfiddle.net/m8q15376/ $("#id1").on('click', 'a', function() { $(this).css("background", "red"); }); http://mevius.5ch.net/test/read.cgi/tech/1449440793/691
692: デフォルトの名無しさん [sage] 2020/07/24(金) 11:12:45.73 ID:fMjVnhWI >>690 > うむ、これについて詳しくよろしく。 すでにお前は逃げてるからなw 先にお前の勘違いだったって認めろ。 先に認める文章をお前が書け そうしたら説明してやるから http://mevius.5ch.net/test/read.cgi/tech/1449440793/692
694: デフォルトの名無しさん [sage] 2020/07/24(金) 11:19:41.76 ID:fMjVnhWI >>693 言い訳はいいからさ、>>691のコードをお前がいうコードで書き直してみろって ここまで言って書かないのは、 お前がそれを書けないと言っているに近いが、それをお前は認めるか? まだこれ認めてないよな? http://mevius.5ch.net/test/read.cgi/tech/1449440793/694
695: デフォルトの名無しさん [sage] 2020/07/24(金) 11:20:24.05 ID:fMjVnhWI こいつは何一つコードを書かない 俺はすでに書いている http://mevius.5ch.net/test/read.cgi/tech/1449440793/695
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.032s