JavaScript

JavaScriptでファイルのインポート、エクスポートを実装する

Chrome/Firefoxの拡張機能で、設定をインポート、エクスポートする機能が欲しいといった要望があったので、まずはどんな感じにインポート、エクスポートすれば良いんだっけ、、ってことでJavaScriptで簡単なサンプル書いてみました。 コード 下記のようなHTM…

jQueryの関数をフックする

jQueryオブジェクトの各関数ですが、jQuery.fnに定義されています。 なので、jQueryオブジェクトの各関数をフックしたい場合には、jQuery.fnに定義されているものを差し替えます。 たとえば、showメソッドをフックして、他の処理を入れたい場合には下記のよ…

suggest.js で、2文字以上の入力で補完を開始する

suggest.js では、1文字でも入力があれば補完を開始するようにしていますが、データ量が多い場合には、1文字で検索するのが無駄(1文字では絞り込みにならない)となる場合があるかもしれません。 suggest.js - 入力補完ライブラリ 実際に、ユーザの方から問い…

JavaScriptで、メソッドの前後に処理を追加する

JavaScriptでUserScriptを書いている時に、その画面で使用している関数に処理を追加したい(Hookしたい)時が多々あります。 (最近だと、RedmineのView customize plugin を使って、Redmineの画面をがりがりカスタマイズしているので、そこでRedmineの関数に追…

JavaScriptで後から追加されたり置き換わったりする要素に対してイベントをハンドリングする

後から追加されたり、途中で置き換わったりする要素に対してイベントハンドリングを行おうとした場合、下記のようにその要素に対してイベントハンドラを登録してしまうと、現在存在しない場合は当然エラーになりますし、要素自体が丸ごと置き換わってしまう…

ショートカットキーでスクロールしながら要素間を移動する(JavaScript)

TwitterやGmail、LDRなどで提供されている、ショートカットキー(j/k)で要素をスクロールしながら移動していくインタフェースですが、element.scrollIntoView を使うと、結構簡単にそのようなインタフェースが出来ます。 (最初はこれを知らずに、その要素の絶…