元スレ+ JavaScript の質問用スレッド vol.111 +
JavaScript覧 / PC版 /みんなの評価 :
602 = :
>>600
目的がさっぱりわからんという事
そんなイベントを作って何が便利なのかわからん
回答はしたから好きにしてくれ
603 = :
>>597
勝手に補完してあげる。
(click)ハンドラを付けたすべてのDOM要素がその(click)イベントを受け取れるような
そういう(click)イベントを発したいのです
※(click)は自分の好きなものの置き換えろ。
答え clickイベント発行すれば?
604 = :
答えおかしくね
605 = :
カスタムイベントを発する→ハンドラを付けた要素がそれを受け取って、それぞれの処理をする
ということをやりたいのです
606 = :
$('#test').on('hoge',function(e){
console.log('test');
});
$(window).on('hoge',function(e){
console.log('window');
});
$(window).trigger('hoge');
こうすると、windowしかイベントを受け取りません
testにも伝播してほしいのです
607 = :
608 = :
>>605-606
Mapか配列で、要素と関数のペアを管理するといいんじゃないかな
609 = :
jQueryではなく標準のメソッドでイベントをディスパッチしてください
jQueryのtriggerはイベントを作ってるわけではなく擬似的なものです
610 = :
>>605-606
「やりたいこと」じゃなくて目的(なぜそうしたいのか)がわからんってことなんだが
なぜ同じ話を繰り返すんだ
611 = :
$('#test').on('hoge',function(e){
console.log('test');
});
$(window).on('hoge',function(e){
console.log('window');
});
$('*').trigger('hoge');
これでいいだろ
612 = :
>>611
それが正解だったら、
馬鹿すぎるとしかw
セレクタの意味をわかってねーw
613 = :
回答ありがとうございます
統合しますと、
jqueryだとキャプチャイベントを伝播させることは出来ないので
ハンドラをリストアップし、自分でよびださないといけない
ということでしょうか
jqueryでハンドラのリストアップってどうやるんですか?
614 = :
>>613
任意のタイミングで実行したいだけなら、要素にイベントハンドラを付けたりせずに、配列とかに保持しておけばいいのでは
615 = :
>>613
jQueryは無関係なんだけど、bubbling の仕組みわかってていってるの?
DOM を実装するブラウザが全ての要素に伝播するわけない
http://www.y-adagio.com/public/standards/tr_dom2_events/events.html#Events-flow
そんな仕組みが欲しいなら自前で実装しろって皆いってるんだよ
616 = :
おっしゃるとおりですがイベントシステム上でやる方がシンプルになると思うので・・
bootstrapでは
show.bs.hoge
hide.bs.hoge
などのカスタムイベントを活用しています
そういうことをやりたいのです
bootstrapはどうやって伝播させてるのでしょうか
617 = :
というかdispatchEventしろといわれてるのに何でtriggerを使うんだよ
618 = :
>>616
bootstrapは知らんが、ソース読めば解読できるんじゃないの?
なんでも人に聞いて済ませようとするなよ
教えて訓は嫌われるぞ
619 = :
>>616
イベントじゃないものを無理やりイベントでどうにかしようとしても複雑になるだけでは
620 = :
>>616
具体的にはどのAPIで全ての要素に伝播するわけ?
再現性のあるソースコードを出してくれ
http://getbootstrap.com/javascript/
621 = :
やりにくいと思ったら、
それはやり方が間違っていると思え。
622 = :
A,B,Cのいずれかのボタンをクリックしたら、A.B.C全てのボタンをクリックしたように振舞って欲しい、って質問を思い出した
今考えても、わかりにくいことこの上ないUIだな
623 = :
HTML5ではイベントはDocumentElement後globalまで伝染するようになってる
624 = :
>>623
間に document が入るのでは?
626 = :
かっこ
627 = :
かっこつけんなよ
628 = :
>>617
jqueryでdispatchEventに相当するものがtriggerですが?
>>619
インシデントがイベント的なのでイベントとして実装しようとしているのです
629 = :
ハンドラをリストアップして順に呼び出す、という機能を
jqueryは標準で提供していないのでしょうか?
イベントを仮想的に実現しているのだから、
バブルアップさせたりも自在に出来ると思うのですが・・
631 = :
>>628
trigger のコードには dispatchEvent がありませんが?
自分の勝手な思い込みを捨てて言われたとおりにやってみてはどうですか?
632 = :
>>628
再現性のあるコードはまだなの?
633 = :
jqueryにはdispatchEventというメソッドはありません
triggerで実装しているからです
エミュレートしているので、内部でdispatchEventを使っていなくても同様のことです
エミュレートしたイベントシステムを使っているjqueryに対して
生javascriptのdispatchEventを使うのは感覚的にマズいと
B級以上のプログラマーなら分かると思うのですが・・
635 = :
違和感があるけどそうなのかなぁ?→やっぱり間違ってた
という流れが多いので
違和感を早いうちに表明しているだけです。
jqueryに対して生のイベントオブジェクトを発行するのは違和感がありますし
特にjqueryはキャプチャリングフェーズのサポートが弱いので、
それでクロスブラウザでのバブルアップはしないんじゃないでしょうか。
するというのならコードで示してください
間違った方法を提示してコードを書いてみろというのは暴論だと思いますが。
637 = :
それで解決するのなら普通にdispatchEvent使えばいいじゃん???
なに、縛りでもやってるの?
639 = :
後出し条件に自演、いつものあれだな
640 = :
>>635
また、条件後出しかよ
違和感って何だよ、あんたの発言そのものが違和感だらけだからあんた試せよって返されたらあんた試そうと思うのか?
キャプチャリングフェーズなんて誰も触れてないだろ、キャプチャしないイベントで試したのか?
バブルダウンて何だよ、そんな用語がDOMのどこに出てくるんだ?
あんたが質問者なんだから試すのはそっちだろうが
間違った手法であることを証明出来てないのになぜ回答者に試させるんだよ
回答者に手間を押し付けて楽しようとする輩はスレ違いだから出て行け
641 = :
>>635-636
あなたにはもう回答する気も起きません。
あなたの為にコーディングする時間は取れませんので悪しからず。
642 = :
回答者の方へ。
下記に該当する質問はスルーする事を強く推奨します。
■慇懃無礼君の質問傾向
1. 条件を後出しする
2. 具体的な状況説明は一切せず、期待する動作だけを書く(それでも要求仕様が足りない)
3. 回答者からの質問にはスルーするか見当違いの返答を返す
4. 自分の期待通りでない回答がくると、主観的かつ感覚的な駄目出しをして受け入れない
5. 根拠のない反論、(知識不足による)頓珍漢な反論を繰り返す
643 = :
あなたより優秀で話の分かる方に回答してもらえるので答えなくて結構です
644 = :
Array.apply(null, Array(10)).map(Function.prototype.call, parseInt);
//=> [0,1,2,3,4,5,6,7,8,9]
という動作について質問です。mapの挙動については理解できたのですが、
前半について、なぜ
Array(10).map(Function.prototype.call, parseInt);
では
//=> [,,,,,,,,,]になるのでしょうか?
646 = :
要素数じゃなくて配列の長さ、lengthと言った方が適切か
後者は要素がないからそもそも変化しないということ
649 = :
この前説明出たろ
mapは存在するインデックスに対してしか作用しない
従って空配列に適応すると元と同じ長さの空配列が帰る
650 = :
ああ、そうかわかった、ありがとう
しかし空配列って紛らわしい言葉だな
他に言い様が無いのかもしれないが
類似してるかもしれないスレッド
- + JavaScript の質問用スレッド vol.141 + (881) - [97%] - 2021/4/19 9:00
- + JavaScript の質問用スレッド vol.131 + (1004) - [97%] - 2018/3/7 13:30
- + JavaScript の質問用スレッド vol.101 + (1001) - [97%] - 2012/7/16 14:15
- + JavaScript の質問用スレッド vol.110 + (1001) - [97%] - 2013/10/13 14:01
- + JavaScript の質問用スレッド vol.112 + (1001) - [97%] - 2013/11/27 16:46
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/1/25 12:46
- + JavaScript の質問用スレッド vol.114 + (1001) - [97%] - 2014/5/3 10:45
- + JavaScript の質問用スレッド vol.115 + (1001) - [97%] - 2014/5/29 16:16
- + JavaScript の質問用スレッド vol.116 + (1002) - [97%] - 2014/7/1 0:45
- + JavaScript の質問用スレッド vol.117 + (1009) - [97%] - 2014/8/5 3:30
- + JavaScript の質問用スレッド vol.118 + (1002) - [97%] - 2014/8/29 22:30
- + JavaScript の質問用スレッド vol.119 + (1002) - [97%] - 2014/10/3 15:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [97%] - 2022/11/29 16:30
- + JavaScript の質問用スレッド vol.121 + (1001) - [97%] - 2015/1/1 18:30
- + JavaScript の質問用スレッド vol.131 + (1000) - [97%] - 2017/1/25 8:01
- + JavaScript の質問用スレッド vol.113 + (1001) - [97%] - 2014/3/15 21:30
- + JavaScript の質問用スレッド vol.141 + (1001) - [97%] - 2019/9/22 23:15
トップメニューへ / →のくす牧場書庫について