電子書籍の厳選無料作品が豊富!

http://www.dustindiaz.com/top-ten-javascript/

上記に記載されている、addEvent()について教えてください。
以下は抜粋です。(行頭は全角スペースです。)
function addEvent(elm, evType, fn, useCapture) {
 if (elm.addEventListener) {
  elm.addEventListener(evType, fn, useCapture);
  return true;
 }
 else if (elm.attachEvent) {
  var r = elm.attachEvent('on' + evType, fn);
  return r;
 }
 else {
  elm['on' + evType] = fn;
 }
}

質問1
elseになるブラウザって、どのようなブラウザがあるのでしょうか?
ご存知でしたら教えてください。

質問2
elseになるような場合、イベントを削除するには下記の様になるのでしょうか?
elm['on'+evtType] = function () { return false; };

以上、よろしくお願いいたします。

A 回答 (1件)

> 質問1


> elseになるブラウザって、どのようなブラウザがあるのでしょうか?
> ご存知でしたら教えてください。

私が知る限りMacIE、Opera6、Netfront3.0、Netscape3など。
DOMが発表されたころよりも前に作られたブラウザです。
このうち、現役で使われているのはMacIEとNetfrontだけだと思いますが、利用率は0.01%に満たないと思います。


> 質問2
> elseになるような場合、イベントを削除するには下記の様になるのでしょうか?
> elm['on'+evtType] = function () { return false; };

elm['on'+evtType]=null;

falseを返すと<a href="" onclick="function">の場合にアンカーとして動作しなくなるので、
この方法を使うなら、trueを返すだけの無名関数を代入する方が良いと思います。

elm['on'+evtType]=function(){return true;}
    • good
    • 0
この回答へのお礼

talooさん
詳しいご回答ありがとうございました。

お礼日時:2009/01/26 16:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!