メインコンテンツに移動
- javascriptが複雑になると分割してプラグイン作成の必要がある
- 方法1:ネームスペース(window.namespace)よりプラグイン作成
- 方法2:jQueryのプラグイン作成ルールに従います
- javascriptの変数名にハイフン(-)を使用するとエラーが発生します
- 原因:ハイフン(-)が演算子のマイナスとして認識されます
- javascriptの変数名に演算子記号が含まれるとエラーとなります
- 共通点:コールバック関数+関数内部ループで処理を行います
- 配列の反復処理関数(forEach,map,reduce,some,everyなど)の目的の違い
- for文でこれらの処理実現ができます
- 違い:処理過程と出力
- for文処理と比べて、配列の反復処理関数の方がパフォーマンス劣化の恐れ
- jQueryのイベント名にネームスペースをつけることができます
- イベントのネームスペースに対応するリスナー/ネームスペースのイベントがすべてのリスナーへ
- イベントのネームスペースより複数のイベントハンドラーをつけることができます
- イベントのネームスペースより特定なイベントハンドラーを外すことができます
- javaScriptのカスタムイベントが親方向へ伝播
- やりたいこと:AJAXで動的に追加したフォームのボタンにイベント(例:click)リスナーの追加
- 問題点:事前に用意したリスナーが後で追加されたフォームに効かない
- 解決1:jQueryのajaxComplete関数でAJAX動作後でフォームボタンにリスナーをつけます
- 解決2:jQueryのchange関数で動的にフォーム追加後にフォームボタンにリスナーをつけます
- やりたいこと:AJAXで動的に別のJSファイルをクライアント側に追加します
- 問題点:動的に追加したJSファイルがブラウザの開発ツールのソースから見つからないです(デバッグはできない)
- 解決:動的に追加されたJSファイルに「debugger」命令を入れて強制的にブレイクポイントを入れます
- Drupalのモジュール(CKeditor)にプラグイン(syntaxhighlighter)追加後にプラグイン起動できず、エラーが発生しています。
- 原因:syntaxhighlighterプラグインがCKeditor4に対応しきれていないからでした。
- プラグインの説明ページにあるコメントからCKeditor4対応バージョンが投稿されているので、それをインストールしたら正常動作しました。
- jQueryのアニメーション(animate)関数の利用時に、jQueryからのエラー:Uncaught TypeError: jQuery.easing[this.easing]ができました。
- 問題点:jquery.uiライブラリが欠けています。
ページスクロールに応じて各ブロックのアニメーション効果のjsライブラリ:scrollme