をちょっと勉強しました。
最初はあんまりごちゃごちゃ考えるのがいやだったので、シンプルなライブラリ
の
記述的には以下になります。
//element:イベントを追加したい要素 //eventName:onclickとか //funcValue:実行したい関数 bytefx.$event(element,eventName,function(){funcValue});
でもこれだと連続で実行した場合に引数の参照が期待した通りにならない場合
が出てきて困っちゃいました。
具体的に言うと
for(cnt=0;cnt<8;cnt++){ bytefx.$event(item[cnt],"onclick",function(){alert(cnt)}); }
上記の記述だとonclickで各itemをクリックした場合はそれぞれ1,2,3とか設定した数字がalertで出ると思うんですが、結果はどれをクリックしても7が出てくる。eventの前の$がポイントなのかな、、、
これではダメなんでこっちの形で対応しました。あぁ汚いんだよなぁ、、、
for(cnt=0;cnt<8;cnt++){ if (window.createPopup) { item[cnt].attachEvent("onclick",function(){alert(cnt)}); }else{ item[cnt].setAttribute("onmouseover","alert('" + cnt + "')"); } }
0 件のコメント :
コメントを投稿