Doge log

Abby CTO 雑賀 力王のオフィシャルサイトです

設定を明示的に書いてみる方式

独自で後から設定を追加するようなイメージだとこうか?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<!--  
<script language="JavaScript" type="text/javascript" src="../js/junit/app/jsUnitCore.js"></script>
-->
<script language="JavaScript" type="text/javascript" src="../js/kumu/kumu.js"></script>
<script language="JavaScript" type="text/javascript" src="../js/kumu/event.js"></script>
</head>
<body>
<!-- イベントの設定 -->
<kumu ids='test2' event='click' function='function(e){alert(e.target.id);}' />

<div id='test'>Test_DIV</div>
<div id='test1'>Test1_DIV</div>
<div id='test2'>Test2_DIV</div>

<script>
function elementRegister(){
  var node = $t('kumu');
  for(var i = 0; i < node.length;i++){
    var ele = node[0];
    var target = ele.getAttribute('ids');
    var eventName = ele.getAttribute('event');
    var func = ele.getAttribute('function');
    Kumu.Event.observe(target, eventName, eval(func), false);
  }
}
elementRegister();
</script>
</body>
</html>

実際に呼ぶ関数の書き方はおいといて…。
明示的に書けるって利点があるかな。
あと付けで

<kumu ids='test3' event='click' function='function(e){alert(e.target.id);}' />
<kumu ids='test4' event='click' function='function(e){alert(e.target.id);}' />

こういうのをちょこっと足すだけ。
うーん、邪魔くさいかなあ。

あと要素指定方法でちょっと思ってるのはCSSはあくまでデザイン的要素なのでデザイナの都合で変えられたらアウトって話もあるのかなと。
(デザイナさんが知らないで適当に消すって事もある!?)
なので割り切るならidぐらいでいくべきかなあ。
そんな違和感ないし。
もっときばるならばXPATHで指定だろうね。
マニア向けだけど。
SpryがXPATH使ってるはず
(中にXPATHのライブラリが入ってた)
うくく。