JavaScript

「今どんな気持ち?」と聞かれる気持ち(Facebook)

今どんな気持ち? 使い方 今どんな気持ち?のリンクを右クリックからブックマークします。もしくはブックマークツールバーなどにドラッグ&ドロップします。 ブックマークしたブックマークを編集して先頭の「http://example.com/」を削除します(javascript:…

フォームの入力補助関連のjQuery Plugin

Enterで入力フォーカス移動 2011-02-20 指定文字数に達したら次の入力欄にフォーカス移動 Autotab: jQuery auto-tabbing and filter pluginjQuery plugin - autotab前者の方がクラス指定だけなので楽。後者は入力文字種の制限も可能。 参考 http://www.syboo…

外部ファイルでは無名関数を実行できない?

上のJavaScriptでは (function(){...})() をわざわざ {...} で括っているが、これはそうしないとhtmlで読み込むJavaScriptのファイルの読み込みでエラーになるのでこうしている。なんでだろう? ...の部分はブロックとみなされ {...} としたのと同じことにな…

フォームの二重投稿防止

以下のようなものを書いてみた*1。ボタンのdisabledはなくてもいいかな。 { (function(){ var observeForms = function(){ var forms = document.forms; for(var i=0; i

JavaScriptの連想配列(Object)の書き方

連想配列やObjectをリテラルで書くときは var hash = { a: 'A', b: 'B', c: 'C' } と書く。 これを //これはだめ var hash = { a: 'A', b: 'B', c: 'C', } としてはいけない。つまり、perlのように最後に余分な「,」を付けてはいけない*1。 ECMAScript Spec:…

onkeyup, onkeydown, onkeypressとIMEの関係

役立たない裏情報〜KeyAsciiとKeyCode〜 onkeydown属性 onkeypress属性 onkeyup属性|(X)HTML辞典

JavaScriptでのclone

404 Blog Not Found:javascript - お伺い - Object.prototype.clone()(はげしくいまいち) http://la.ma.la/blog/diary_200510062243.htm(return Array.apply(null,this)) http://la.ma.la/blog/diary_200711270645.htm 関数一発でプロトタイプチェーンに繋…

Script要素を空要素タグを使って書いてはいけない。

Script要素は"</*"*1までが要素と判断されるとのこと。したがって、 <script type="text/javascript" src="js/prototype.js"></script> と書かなくてはならず、 <script type="text/javascript" src="js/prototype.js" /> としてはいけない。 後者のようにすると、次の閉じタグまでがscriptの中身と言うことになる*2。 参考 Performance, Implementation, and Design Notes (ja) SCRIPT - Client-side Scrip…

parseIntの第2引数

JavaScriptで returnValue = parseInt(value); のようにやっていたら、valueに'010'が入っているとreturnValueが8になるという現象に出くわした。 現象自体は単純で、'0'で始まる文字列は8進数とみなすということなんだろう。同様に'0x'で始まる文字列は16進…

Reflection.jsを使う

Reflection.jsというJavaScriptがある。まるで画像が何かに反射して映っているかのような、iTunesとかiPhotoとかのAppleっぽい、いかにもweb2.0という感じの画像の見せ方をしてくれる。 使い方は簡単で、ヘッダーでスクリプトを読み込んで画像にはclass="ref…

nameを配列にしたフォーム要素をJavaScriptから参照する方法

PHPでは <form action="index.php" method="post" name="myform"> 名前<input type="text" name="input[name]" /> メールアドレス<input type="text" name="input[email]" /> パスワード<input type="text" name="input[password]" /> </form> のようにすると、 $name = $_POST['input']['name']; $email = $_POST['input']['email']; $password = $…