ラベル javascript の投稿を表示しています。 すべての投稿を表示
ラベル javascript の投稿を表示しています。 すべての投稿を表示

2008/03/19

Prototypeでのブラウザ判別


if (Prototype.Browser.IE6)
alert('You are using IE6');
else if (Prototype.Browser.IE)
alert('You are using IE7');
else
alert('Not IE');

2007/08/08

prototype.jsでのはまりどころ($Fについて)

$Fはドロップダウンでもテキストボックスでもvalueの値を取得できるので便利だが
IE6とFF2では多少挙動が違う。
ドロップダウンでname属性のみ宣言されているときに$FはIE6では取得できるがFF2ではエラーになってしまう。そこでidとnameともに同様な値で宣言しておけば$Fは取得できる。

prototype.jsでのはまりどころ

よくメソッドの名前につかわれる「update」とかを単体で関数宣言時に利用しないこと。
「update~」とかはOK。でないと挙動がおかしくなる。

2007/08/07

prototype.jsのハッシュキーの削除

ハッシュの内容、キーを削除したい場合は以下
マニュアルにはのっとらんのよ

var prm = $H({});
prm["a"] = "aa";
prm["b"] = "aa";

prm.remove("a");

2007/07/26

prototype.jsのハッシュキーに変数を利用する場合

通常、$Hでハッシュを利用する場合は以下のように
var h = $H({
'aaa' : 111,
'bbb' : 222,
});

と思いますがキーに変数を利用した場合は
var prmA = 'p1';
var prmB = 'p2';
var h = $H({
prmA : 111,
prmB : 222
});
とやりたいところですがこれだとキー名は「prmA」「prmB」
になってしまいます。eval等を利用してスクリプトとして全文字列を生成してから行っても
いいのですがちょっと面倒なので以下のように
var prmA = 'p1';
var prmB = 'p2';
var h = $H({});// ←new Object()ではダメ
h[prmA] = 111;
h[prmAB = 222;
とすることで簡単にできます。