知りたいこと
javascript上でscrollイベントを記述して実行した際に、実際のjQuery内では具体的にどのような動きが行われているのかを知りたいです。
実装コード
javascript
1$(function () {2 $('#MainCotent_aaa').scroll(function () {3 var top = 0;4 top = $(this).scrollTop();5 //上記で取得した値によって、これ以降で各種処理を実施6 });7});8コード
jQuery内のソースとの関係で不明なこと。
上のように記述した場合に、まずscrollの内容が実行されると思うのですが、具体的にjQuery側でどのような処理したうえで、こちら側に処理が戻ってきて、自分が書いたコードの処理に移っていくのかが全然わからないです。
開発者ツールでデバッグ実行してみたところ、jQueryの下記の記載部分を示したのですが、
①内部的にどういう風に処理が実行されているかを知りたいです。eachと使われているので何かしら繰り返し処理をしている、ということなのでしょうか?
②この処理が実行される場合に「name」とか「data」とかが渡されているのでしょうか?(それが具体的にどういうものかは全然わかりませんけど)
③スクロールのイベントというのは、スクロールが動いている間はずっと処理される、みたいなことがネットで調べてみたら書いてありましたが、そもそも動いている間ってのが具体的にどこからどこまでなのかがよくわからないです。「eachが使われている間」=「スクロールバーが動いている間」ということでしょうか?
jQuery
1jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + 2 "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 3 "change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) { 4 5 // Handle event binding 6 jQuery.fn[ name ] = function( data, fn ) { 7 return arguments.length > 0 ? 8 this.on( name, null, data, fn ) : 9 this.trigger( name ); 10 }; 11});
最後に
いろいろ質問させていただきましたが、何かしら情報をお持ちの方がいましたらご教示いただければ幸いです。どうぞよろしくお願いいたします。
0 コメント