QA@IT

[javascript]touchイベントが理解できません

2652 PV

ご覧頂きありがとうございます。
現在jsを勉強中で、jqueryでスマートフォンでスライドメニューを実装する、 https://github.com/ukitaka/jSlideMenu/blob/master/jquery.slidemenu.js のコードを読んでいるのですが、82行目の以下のようなコードの意味が分かりません。

                        $(button_selector).bind("touchstart.menu_button", function() {
                                _buttonTouchStart();
                        });

touchstart.menu_buttonmenu_buttonはhtml側の<nav id="menu_button">を指しているのでしょうが、なぜこれだけで「#menu_buttonをタッチした時」という指示になるのでしょうか?例えばmenu_buttonがクラスだった場合などを考えると理解できません。

基本的なことかもしれませんが、解答いただければありがたいです。

回答

touchstart.menu_buttonmenu_button はhtml側の <nav id="menu_button"> を指している

のではありません。例示されたコードを日本語訳するとだいたい次の様になります。

button_selector が touchstart されたら _buttonTouchStart() を実行すること。
この処理を touchstart.menu_button と名付けるので、これを呼び出したり取り消したりする場合はこの名前をつかってね。

詳しくは Namespaced Events - jQuery 日本語リファレンス などで解説されています。

編集 履歴 (0)
  • !!!ありがとうございます!!!ものすごくスッキリしました!!!また分からないことがあるかもしれませんが、もしお時間ありましたらぜひよろしくお願いします。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。