jQueryのプラグインを三つ作りました。
細々とした奴を作ったので置いておきます。
keychar.js
キーコードを文字列に変換します。keyIdentifierが使えるようになるまでのつなぎ的なやつです。
$(window).keydown(function (evt) { if (evt.keyChar() === 'A') { //< ココ alert('shift + a'); } });
keydownでもkeyupでもkeypressでも変な記号でも割と動きます。
jquery.touchable.js
mousedown、mousemove、mouseupをtouchstart、touchmove、touchendに読み替えるライブラリです。普通にmousedown等を使っているだけのコードがtouchイベントで動きます。
まだ、mouseupのtouchendへの読み替えが手抜きなので、後々改善したいです。三つとも使うドラッグとかは綺麗に書けます。これでマウス用のざっくり書いたイベントがタッチで動くようになりました。
改善しました。
jquery.loaded.js
完全に状況を掌握した画像の遅延読み込みの実現 - latest logとJavaScript で、画像本来のサイズ(幅, 高さ)を取得する方法 - latest logをjQueryプラグインとして実装したものです。
HTML中に書かれているimgタグに対しても利用したかったので、読み込みが終了している場合も既に読み込んでいるという扱いで着火します。
$('img').loaded().success(function () { alert('loaded: ' + this.src); }).error(function () { alert('error: ' + this.src); });
もちろん、新規作成時のonloadとしても使えます。
あと、iframeとかscriptの読み込みの監視もできるようになっています。同じドメインのiframeを操作するためにもjQuery.sub(iframe.contentWindow)とかできるようになってほしいですね。