- ベストアンサー
イベントリスナーの部分を関数にしたい
- イベントリスナーの部分を関数にする方法について教えてください
- load以外にもchangeイベントを使う必要があるため、関数にしたいです
- 引数の関数の指定方法がわかりません。どうすればいいでしょうか
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
単純に this.addListener( 'window', 'load', func ); を this.addListener( window, 'load', func ); にするのではだめなの?
その他の回答 (2)
- babu_baboo
- ベストアンサー率51% (268/525)
onchange の要素は、どこで指定する?まさか window にではなさそうですが・・・ a.view ();が呼ばれる度に、同じイベントをくっつけるのは、どうでしょう? 1回きりの呼び出しで、しかもbodyの最後に追加していくだけなのなら、別な方法がよいかも ? 細かいことですが、body要素の直下に、テキストノードがあるのも、どうでしょう? this.foo を、xxxxx.addEventListner ('change', this.foo.bind(this), false);みたいにするのは、どうでしょう? こそっと、違いがわかりません。
お礼
ありがとうございます。 お返事が遅くなってすみません。 今回の例は、今書いているプログラムのわからないところだけを抜き出して書きました。 だから、body要素の直下にテキストノードがあります。 'window'をwindowにすると、文字が表示されました。 load以外のイベントも試してから、この質問を終わりにしようと思っています。 ありがとうございました。
- yambejp
- ベストアンサー率51% (3827/7415)
いまいち何をしたいかわからないのですが、 loadをaddEventListerのをelemにではなくwindowにしてみては?
お礼
ありがとうございます。 >いまいち何をしたいかわからないのですが、 前回、別の質問をしました。 http://oshiete.goo.ne.jp/qa/8557126.html そして、解決したのでプログラムを書いてみました。 「load」を教えてもらった方法で書きました。 次に、「change」も同じ方法で書きました。 同じイベントリスナーを使うなら、関数にしてしまえ!と思って関数にしたのですが、 引き数に入れた関数が動きません。 そこで、今回の質問をしました。 「window.addEventListener( 'load',function(){ _this.foo()}, false );」の部分を 「load」以外のイベントで使えるようにするには、これをどのように書けばいいのでしょうか。 その場合の、引き数の関数はどのように指定すればいいのでしょうか。
お礼
ありがとうございます。 お返事が遅くなってすみません。 「'window'」を「window」にするとできました。 windowには、特別な意味があるみたいですね。 知りませんでした。 本来なら、問題が解決したので質問を閉め切りたいのですが、 load以外のイベントでエラーが出るかもしれません。 それを試してから質問を閉め切ることにします。