質問: onloadがうまくいかない onloadを使って、 下記hpのtoggleエフェクトのjsが適用されたボタンを押したいのですがうまくいきません。 http://demos.mootools.net/fx.slide 現在作成コードの一部は、 ヘッダー部から、 ヘルプ内容 みたいな感じで、 他にもログアウトボタンやらあるんですが、 それらのボタンは上記onloadの方法で起動できます。 なぜかjsが適用されてるボタンだけ出来ないような感じなのですが、 何か解決策はありますでしょうか?
回答: addeventの内容がaddeventlistenerやattacheventを使っているだけで、$と言う関数がgetelementsbytagnameでname属性が一致するものを返しているだけと言う前提で回答すれば、$('toggle')のonclickはie6でnull、firefox1.5でundefinedになっていると思います。 addeventで特別なことをしていなければ、document.getelementbyid('help').click自体もundefinedじゃないかと思います。 そこで、onload時に実行したい関数に名前を付けてonload時に実行してやれば良いかもしれません。 だた、現状でie6で「関数を指定してください。」などのエラーが出ないのが不思議な気もします。 alert($('toggle'),onclick)が function (e){ e = new event(e); myslide.toggle(); e.stop(); } と表示されるならonload="document.getelementbyid('help').onclick()で行けると思いますけどeがネックになりますね。 e = new event(e); e.stop(); を削っても動くようなら新規に window.onload = function (e){ myslide.toggle(); } と言う関数を作れば取りあえずは動くでしょうね。 eがイベントでしたらevent(e)で何が返ってくるか調べてstop();で何をするかを調べて対処するしかないでしょう。