「JavaScript」の編集履歴(バックアップ)一覧はこちら
「JavaScript」(2008/11/11 (火) 13:00:00) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
#contents
----
**Tips
***フォーカスされているエレメントを取得する
#codehighlight(JavaScript){
var element = (document.activeElement || window.getSelection().focusNode);
}
前半がIE/Opera用。getSelectionはFirefox用。
----
*** 文字列の置換
#codehighlight(JavaScript){{
var str = '10-10-10';
ret = str.replace(/-/, ':'); // 10:10-10 : 最初のマッチしか置換されない
ret = str.replace(/-/g, ':'); // 10:10:10 : OK
}}
----
*** 型の取得
#codehighlight(JavaScript){{
if(typeof e=='string')
alert('string');
}}
----
*** JSON を eval
#codehighlight(JavaScript){{
var json = "{'a':'b'}";
var o = eval(json); // invalid labelで失敗する
var o = eval('('+json+')'); // ok
}}
----
*** イベントハンドラの追加
#codehighlight(JavaScript){{
function observe(target, type, listener) {
if (target.addEventListener)
target.addEventListener(type, listener, false);
else if (target.attachEvent)
target.attachEvent('on' + type, function() { listener.call(target, window.event); });
else
target['on' + type] = function(e) { listener.call(target, e || window.event); };
}
// こっちの方がいいと思う
var observe = window.addEventListener ?
function(target, type, listener) {
target.addEventListener(type, listener, false);
}
:
function(target, type, listener) {
target.attachEvent('on' + type, function(){listener.call(target, window.event);});
};
}}
----
*** offsetWidth と clientWidth の違い
offsetWidth は内容の幅+枠線の幅~
clientWidth は内容の幅のみ
----
*** 数値と文字列の相互変換
- 文字列->数値
#codehighlight(JavaScript){
n = "123"-0;
n = Number("123");
n = parseFloat("123");
n = parseInt("123");
n = eval("123");
}
- 数値->文字列
#codehighlight(JavaScript){
s = 123+"";
s = String(123);
}
#contents
----
**Tips
***フォーカスされているエレメントを取得する
#codehighlight(JavaScript){
var element = (document.activeElement || window.getSelection().focusNode);
}
前半がIE/Opera用。getSelectionはFirefox用。
----
*** 文字列の置換
#codehighlight(JavaScript){{
var str = '10-10-10';
ret = str.replace(/-/, ':'); // 10:10-10 : 最初のマッチしか置換されない
ret = str.replace(/-/g, ':'); // 10:10:10 : OK
}}
----
*** 型の取得
#codehighlight(JavaScript){{
if(typeof e=='string')
alert('string');
}}
----
*** JSON を eval
#codehighlight(JavaScript){{
var json = "{'a':'b'}";
var o = eval(json); // invalid labelで失敗する
var o = eval('('+json+')'); // ok
}}
----
*** イベントハンドラの追加
#codehighlight(JavaScript){{
function observe(target, type, listener) {
if (target.addEventListener)
target.addEventListener(type, listener, false);
else if (target.attachEvent)
target.attachEvent('on' + type, function() { listener.call(target, window.event); });
else
target['on' + type] = function(e) { listener.call(target, e || window.event); };
}
// こっちの方がいいと思う
var observe = window.addEventListener ?
function(target, type, listener) {
target.addEventListener(type, listener, false);
}
:
function(target, type, listener) {
target.attachEvent('on' + type, function(){listener.call(target, window.event);});
};
}}
----
*** offsetWidth と clientWidth の違い
offsetWidth は内容の幅+枠線の幅~
clientWidth は内容の幅のみ
----
*** 数値と文字列の相互変換
- 文字列->数値
#codehighlight(JavaScript){
n = "123"-0;
n = Number("123");
n = parseFloat("123");
n = parseInt("123");
n = eval("123");
}
- 数値->文字列
#codehighlight(JavaScript){
s = 123+"";
s = String(123);
}
表示オプション
横に並べて表示:
変化行の前後のみ表示: