7cc@はてなブログ

JavaScriptとかとか

addEventの面白い書き方 element.addEventの順で書く

なんだかいまいちに思えるので書き直した http://7cc.hatenadiary.jp/entry/addEvent2

addEventListener と attachEvent を両対応する場合、多くの場合下記のように書かれている。

addEvent(element, 'click', func)

でも本当は element.addEvent の順序で書きたいと思っていた。

こちらにその順序で書けるコードがあったので記載します。

コード1 element.[add]

var doc = document
  , add = doc.addEventListener ? 'addEventListener' : 'attachEvent'
  , rem = doc.addEventListener ? 'removeEventListener' : 'detachEvent'
  , pre = doc.addEventListener ? '' : 'on'

documnet[add](pre + 'click', hoge, false);