JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net (767レス)
JavaScript情報交換所(プログラミング既習者専用) [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1449440793/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
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
642: デフォルトの名無しさん [sage] 2020/07/24(金) 01:22:11.42 ID:2LubhzPR >>626 訂正、>>623でもバブルを利用しているようだ。 jQueryはこの形式だとDelegated event handlers として扱われ、 on時点でサブクエリして一致した子要素に付けるのではなく、 内部的にバブルしてきたイベントを使い、実行時にクエリして一致を確かめるようだ。(後半部は予想、実装依存) https://api.jquery.com/on/ だから確かにバブルを利用してはいるが、これだともっさり遅くはなる。(とはいえGUIの場合は大抵問題にはならない) jQueryは使ってないし今後も使う予定もないので仕様には詳しくなく、見た目で判断してしまった。 なるほど何だかんだで上手く出来てはいる。 が、まあ、いずれにしてもこれをDOMAPIだけで書くのも別段苦労しないし、 jQuery内部でe.targetを使っているだけで、e.targetが無ければjQuery自体が組めないだけでしかない。 >>640 イベントデリゲーションの方がかなりオレオレ用語だと思うが。 確かにMDNには書いてあるが、俺は今まで聞いたこともなかったし、そもそもそれを「デリゲーション(キリッ」とかいうのもどうかしてると思うが。 OOPで言う委譲に当たるから「デリゲーション」なんだろうが、それはOOPで言う「継承か委譲か」、という話とは全然違っていて、 単に親要素でしかなく、子要素とは何の関わりもない。(一応包含してはいるが) だから無理やりOOP的な解釈をすれば「デリゲート」しかないのだろうけど、 それは、世の中の全てを無理矢理OOPで解釈するJava脳みたいな感覚を受け、 Java以外で普通にOOPを分かっている奴からしたら相当気持ち悪い使い方だし、実際に流行ってもないだろ。 これが気持ち悪いと思わないのは君がOOPを理解してないからだよ。 ただし俺はGUI自体がOOPにフィットしないと思っているから、GUIしかやらないのなら理解している必要はないとも思うけども。 そして君は都合の悪い>>633は無視なのか? 既に言ったが、現在の状況でe.targetが無くなることはない。 ただ、あの辺デタラメに拡張して仕様がグダグダなので、整理しろよな、とは思うが。 http://mevius.5ch.net/test/read.cgi/tech/1449440793/642
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.030s