addEventListener()イベントハンドラのつけ方もインラインから離れてどんどん変ってきてます。メソッドによるイベントハンドラの付加は、個人レベルだとあまり多く使われていないようですね。有名ライブラリなどを利用する人も多いと思います。メソッドによるイベントハンドラの付加の方が重宝する場合もあります。その辺の理由や、従来の方法と違ってるめんなどを少し。}</script>メソッドを使わない方法の場合は従来のこのような書き方になります。このような書き方でもページ全体のスクリプトを把握していれば特に問題はありません。一つ問題になりやすいのが、従来の方法だと同一オブジェクトに同一イベントを付加できないと言う点です。上書きをしてしまい、window.onloadの方が無効になります。使われていても同じです。Object.addEventListener()を使う事で、同一オブジェクトに同一イベントをいくつでも付加できます。従来の方法で後から書かれても上書きされる事もありません。新たにスクリプトを付加する時にイベントの干渉を気にしなくて済みます。多くのスクリプトで使われがちなイベントの場合は干渉(上書き)に注意しなくてはいけません。ライブラリを利用する時も、この点に注意しないと他のスクリプトと共存できないなんて事が起きます。実際問題としてはイベントだけでなくグローバル変数を乱用してる事が共存を難しくする為のもう一つの大きな要因ではありますが・・・それはまた別に書きます。ページ全体を把握しているのであれば、必ずメソッドにしないと駄目と言うわけではありません。』変更していけば良いかと。常用関数用の共通ライブラリに入れておけば使いやすくなると思います。ま、イベント削除の方はあまり使う物じゃないですが。ような他のスクリプトでも使われてしまいそうな名前は避けましょう。埋め込む形になります。ブラウザ(メソッドがあるかないか)を判別して、使えるほうを使ってイベントを付加します。』を取ったイベントタイプで指定しますので、その処理も入っています。イベントタイプだけでもいけますが・・。付加した順序で実行してくれません。attachEvent()でも付加した順番に実行されます。付加した順番通りに実行してくれます。実行順序が重要になるケースであれば、使い方を工夫しないといけなくなります。1個飛ばしでカウントアップと言う微妙な規則性があるのですが、開始位置が何処になるのか?などやはり解明できませんでした。}}メソッドを扱うのと同じなのでこのaddEvで説明。ハンドラー(関数名)を渡す事で埋め込む事もできます。関数側の引数0には勝手にイベントオブジェクトが入ります。このメソッドを使うイベント付加方法の場合はIEでもこの方法でイベントオブジェクトを受け取る事ができます。このイベントがつけられたオブジェクトをそのまま指します。今度はthisがIEではwindowを指すようになってしまったようですね。イベント発生エレメントを指すものとイコールではないので構わないと言えば構いませんが・・。IEはwindow、IE以外はdocumentを指す});と言う事になります。返す事で、有効無効を指定します。関数()">これらの場合は普通は関数で明確にfalseが戻るようにする事で中止させる事ができます。それが通用しなくなってしまいました。この場合は(event).preventDefault()とする事で、タグの元の動き(1つ前のイベント?)を打ち消す事ができます。false;}の様にする必要があります。処理関数の中にthisが使われているか?のチェックが必要になります。//イベント発生エレメント}の様に書換えを行う必要もでてきます。false;と書き換えてやらねばならない事になります。初心者にメソッドの書換えだけを推奨しても、これらの細かい点に配慮できる知識が無い人にはちょっと無理があると思います。新たなスクリプトを配布した方が良いです。thisは使わないようにして、丁寧に書く必要が出てきますね。イベントを吸収する書き方をしてしまう方法もありです。対処としてはこれで両方が実行されます。書かれてしまったら終わりです。ライブラリが出回って、目に付く機能を何でもつけたいって言う初心者の人も多いようで・・・。イベントやグローバル変数とかの干渉を考えて無い人の場合は、少なからずトラブルが起きるようですね。配布スクリプトを単体でテストしたりせずに、いきなり既存のページに付ける人も結構いますしね。つけてやら無いと、吸収した元のObject.onclickの戻り値を返す事ができません。falseなどの場合は、必要に応じて処理の後にしておかないと外側の関数の処理がそこで中断されますのでこれも注意。ような書き方をして消してしまってたりしました。方法だと、同一オブジェクトに同一イベントが1個の前提です。全て消してしまいますからね。Object.removeEventListener()を使う事で、指定したオブジェクトから指定したイベント処理だけ削除できます。test);と言うように、addEv()と同じ形で使います。処理関数をハンドラーで渡しておかないと駄目なようです。これで削除スクリプトの流れで削除する必要がある物は無名関数ではなく、ハンドラーで渡しておきましょう。処理関数がローカル関数であっても、ハンドラー名まで一緒でマッチすれば削除できると思います。IEとMozillaで何とか調整をはかって欲しいですね。あと、イベントリストなども簡単に参照(あるのかな?)できて、無名関数でも何でも指定して、削除や変更を行えるように。)無駄な高額ドメイン管理料金払ってませんか?バリュードメインムームードメインお客さんに振込手数料を払わせていませんか?イーバンク銀行同士なら振込手数料無料。配布素材以外のコンテンツの無断使用・転載を禁じます。