ガレコレ
Garage Collection
 
2013年9月23日(月)
[Javascript] this #■パソコン・通信

 パレット付きの『子猫の手』を開発中である。

 イベントが起きたオブジェクトをthisで記述できるが、今までは、関数の引数にそのオブジェクトを渡して、関数内で利用するという、面倒臭いことをやっていた。

<html>
 
<head>
 
 
<script>
 
 
 
function
 
_click($object){
 
 
 
 
alert($object.id);
 
 
 
}
 
 
</script>
 
</head>
 

 
<body>
 
 
<div
 
id="memo"
 
onclick="_click(this)">
 
</body>
</html>

 下記が、改良版。ページを読み込んだら、オブジェクトへのクリックを監視。一見、コード数が増えているが、監視するオブジェクトが多くなると、ルーチン化で劇的にコード数が減るのだ。

<html>
 
<head>
 
 
<script>
 
 
 
function
 
_setup(){
 
 
 
 
document.getElementById("memo").
onclick
 
=
 
_click;
 
 
 
 

 
 
 
}
 
 
 

 
 
 
function
 
_click(){
 
 
 
 
alert(this.id);
 
 
 
}
 
 
</script>
 
</head>
 

 
<body
 
onload="_setup();">
 
 
<div
 
id="memo">
 
</body>
</html>

P.S.
 
IE9以上は、Mozilla系のプログラムとの互換性が高い。問題は、WindowsXPはIE8までということで、こちらはIE系のプログラムでないと動かない。でも、こちらのプログラムの方がシンプルで作りやすいのだ。

P.S.2
 
下記のリンクは、色が付いた■にマウスを重ねると、色のスタイルが表示されるというもの。IE、Fx、Opera、Lunascape(Trident、Gecko)、DoCoMo/2.0はgoldとなるが、Google
 
Chrome、Safari、Lunascape(WebKit)はrgb(255,215,0)となる。orangeが表示されるので、CSS2.1に定義されている17色のカラーネームはそのまま表示されるということだ。
http://neconote.jp/test/this.html
 
お問い合わせ
by Network Communication Note