JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net (760レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

636
(1): 2020/07/24(金)00:01 ID:2LubhzPR(1/17) AAS
>>632
というかね、「イベントバブル」をオレオレ用語だと噛みついてくる時点でお前はどうかしてる。
JavaScript使ってて今まで聞いたことがないってのは本当に酷い。

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

JavaScriptが世のGUIを席巻しつつあるのは、イベントバブルの功績が大きい。
省5
641: 2020/07/24(金)00:33 ID:2LubhzPR(2/17) AAS
>>637-639
半島に帰れ
642
(4): 2020/07/24(金)01:22 ID:2LubhzPR(3/17) AAS
>>626
訂正、>>623でもバブルを利用しているようだ。

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

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

が、まあ、いずれにしてもこれをDOMAPIだけで書くのも別段苦労しないし、
省14
643: 2020/07/24(金)01:48 ID:2LubhzPR(4/17) AAS
ちなみにgoogle、

イベントバブル 約 22,500,000 件 (0.43 秒)
イベントデリゲーション 約 23,600 件 (0.28 秒)
650
(1): 2020/07/24(金)08:10 ID:2LubhzPR(5/17) AAS
>>644
お前が日本語が出来なくていろいろ勘違いしてるだけだろ。

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

> バブリングフェーズとイベントデリゲーションはバスタブとミカンくらい意味が違うがおんなじもんだと思ってたわけ?w
俺は同じ物だとは一言も言ってない。それを勝手に誤解しているのはお前の日本語が韓国人レベルだからだ。
ただ、これらは表裏一体であって、イベントがバブルしなければ纏めるも何もないので、
お前が思っているほど区別する意味もない。
お前みたいな文系馬鹿はやたら細かく区別して意味無くドヤる傾向があるが、プログラミングってのはそもそもそういうものではない。
省5
651
(2): 2020/07/24(金)08:10 ID:2LubhzPR(6/17) AAS
同様にお前が無駄に拘っているのが以下だが、
> > イベントバブルを最初に実装したフレームワークはHTMLで、
> 笑うしかないわw HTMLがフレームワークとかw (>>631)
HTML/CSS/JavaScriptはほぼ常にセットで使われていて、どれだと区別する意味はないし、
確かに厳密にはどれでもないからWebAPIとか別括りにされてるが、そこに拘る意味もない。
俺は「イベントバブルを最初に実装した『フレームワークが』がHTMLだと言った。
お前的には「プラットフォーム」か、または別用語が適切なのかもしれんが、
いずれにしても言葉というのはコミュニケーションの手段であって、つまり通じるかどうかが最重要であって、
明らかに通じているのに揚げ足取りしているつもり?でドヤって来るのも頭おかしいとしか思えないが。
(オレオレ用語を使うなってのは「通じないから使うな」ということであって、オレオレ用語を使うこと自体が悪いというわけではない)
省11
661: 2020/07/24(金)09:24 ID:2LubhzPR(7/17) AAS
>>656
> イベントデリゲーションはかならず使うものじゃないんだから
> イベントデリゲーションの方が数は少なくなるのは当たり前
ここが違う。
バブルを利用する時点で「親で纏めて処理する」大前提なんだよ。これも既に言ったが。
逆に、バブルだけしても親で処理しないのなら意味無いだろ。
(まあバブル自体は勝手にするのだが)

だからイベントバブルの説明の際には必ず「親で処理する」事が含まれるんだよ。
これもお前みたいな文系馬鹿は「知識」としてそれぞれを別々にインストールしているから分からないのだろうが、
イベントバブルの説明=イベントバブル自体とその使い方の説明=当然親でイベントを纏めて処理する=「イベントデリゲーション」も説明される
省9
663
(2): 2020/07/24(金)09:35 ID:2LubhzPR(8/17) AAS
>>658
> DOM APIの仕様だ
まあ厳密にはあれはDOMに入れるべき物でもないんだよ。
だから今も「For web developers(non-nomative)」という中途半端な扱いになってる。
あれはDOMと言うよりはプログラミングモデルであって、本来は別仕様を起こすべきなのだが、
それを言いだしたらきりがないから現状はDOMに突っ込まれているだけでさ。

> 「イベントバブルを最初に実装した」というのはどういう意味か言ってみ
> お前は「イベントがDOM要素の下位から上位へバブルのように登っていくこと」を実装した。
そうだぞ。俺はそう言ったんだ。
イベントがバブルするGUIフレームワークというのは、俺が知ってる中ではHTML/CSS/JavaScriptが初だよ。
省9
664
(1): 2020/07/24(金)09:39 ID:2LubhzPR(9/17) AAS
>>662
なら逆に、「イベントバブルを利用するが親ではイベントを処理しない」方式で何か有効活用出来るか?
それがあれば「大前提」ってのは俺の勘違いだと認めるが。
669
(2): 2020/07/24(金)09:48 ID:2LubhzPR(10/17) AAS
>>665
wikiじゃねーかよ!そりゃ書いた奴が分かってねえんだよ。
既に言ったが、世の中のGUIフレームワークはイベントバブルをこぞって採用してる。
.NETはWPFから、GTKは3から。Qtは知らんが間違いなく採用はされるかその方向の筈。
理由も既に言ったとおり、バブルが出来れば非常に効率よくGUIを実装出来るから、
それに慣れると、バブルが出来ないフレームワークなんてゴミにしか見えなくなるから。

>>666-668
どうにもお前とは話が噛み合わないからこの辺で終わりにしておこう。
色々既に言ったとおりだ。気になるなら読み返してみてくれ。
674
(3): 2020/07/24(金)10:12 ID:2LubhzPR(11/17) AAS
>>670
一応読んだぞ。

まあそう思うのは自由だが、それは最初に書いてあるとおり、
> 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.
つまり一つのElementに複数のイベントハンドラを付けたい時にバブルを活用出来るとか、
或いはrootにデフォルトのイベントfunctionを付けておけばそれを「上書き」する際に活用出来る、みたいなわけだが、
そんな使い方してるサイトなんて無いぞ。というかそんなことしたら怒られると思うが。
複数付けたければ普通にaddEventListenerすればいいだけだし、
サイトのスクリプトがユーザースクリプトその他によって「上書き」される前提で書いているサイトなんてほぼ無い。
あるにしてもこんな邪道なやり方ではなく、「サイトのスクリプトをオフにする」という、公式な無効化機能が付いてる。
省9
681
(1): 2020/07/24(金)10:42 ID:2LubhzPR(12/17) AAS
>>676
> queryしているコードを書いてみろって
それはお前が>>622,623で既に書いてるだろ。
jQueryが美味しいのは、getElementByIdとか長たらしいこと書かずに$('#id')と書けるとか、
HTMLCollectionなのに単発のDOMみたいに扱えてforやforEach等のループを自前で書く必要がないとか、そういうところだろ。

そして俺が言ってるのは、親にeventhandlerを付けるのならその辺のおいしさが全くなくなる、ということだよ。

ただまあ、jQueryがそこまで好きならjQueryで一生書けばいいとも思うけど。
俺は必要ないから今後とも使わないだけであって。
682
(2): 2020/07/24(金)10:44 ID:2LubhzPR(13/17) AAS
>>680
> 親でまとめてイベント処理することだって言ってたじゃんwww
そうだぞ。イベントバブルを活用する=親で纏めて処理する、だ。
それ以外のまともな使い方は俺は知らん。(以下に続く)

>>678
おお、確かに読み間違えてる。
一つのイベントが複数のイベントハンドラを持ちたい場合か。
しかし何だそりゃ?て話だがな。
一つのイベントに複数のハンドラを持たせたい為にバブルさせてそれぞれの階層で処理させて結果的に複数処理するってのは、
実際の動きを説明していると言えばそうだが、これの為にバブルを活用するのは間違いだと思うが。
省9
689
(1): 2020/07/24(金)11:09 ID:2LubhzPR(14/17) AAS
>>683-686
まあやはり堂々巡りか。

wikiに書いてる使い方で活用出来るかについては考えてはみるよ。
ただし、既に言ったが、今のところ俺はそんなの見たこと無いが。

お前が勘違いしているのは、デタラメな使い方でもちゃんとした使い方だ!と思っていること。
それは文系初心者プログラマにも多い、全ての文法を使える人が上級者だ!と勘違いしていたりするのにも近い。

実際はそうじゃない。
例えばキャプチャフェーズとかも実装されているから確かに使えるが、俺はそれを上手く使っている例を見たことがない。
正確に言えば、まともに設計すればキャプチャフェーズなんて必要な事がないから、誰も使ってないだけだが。
バブルにしても、邪道な使い方はいくらでも出来るが、そうではなくて、
省9
690
(1): 2020/07/24(金)11:10 ID:2LubhzPR(15/17) AAS
>>687
> 一つのイベント・・・click
> それ以外の方法では美しく実装出来ないケース・・・google map
うむ、これについて詳しくよろしく。
693
(2): 2020/07/24(金)11:17 ID:2LubhzPR(16/17) AAS
>>692
逃げてるも何も、そのやり方が正道でなければそりゃ認めないよ。
既に言っているし、君も知っているはずだが、プログラミングなんて糞な書き方は無限に出来るわけでさ。

ふと考えたが、eをもしかしてmutable扱いか?
これは若干邪道だけども、そうしないと無理(それ以外での実装では大量なコードが必要)ならそれもありではあるが。
696: 2020/07/24(金)11:21 ID:2LubhzPR(17/17) AAS
>>693 訂正
693と思ったが、見る限りほぼ「読みとり専用」だから無理だな。
外部リンク:developer.mozilla.org
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.842s*