IE6の制限と判定

IE6では何故か下記のようなDOM要素にイベントハンドラを追加する処理でエラーになってしまう。
タッチイベントハンドラなのでとりあえず IEの時は下記を実行しないように判定文を入れてみる。

	var label_elemens = document.getElementsByClassName("taskLabel");
	var i = 0;
	for(i=0;i < label_elemens.length;i++){
		label_elemens[i].addEventListener("touchstart",  touchHandler, true);
		label_elemens[i].addEventListener("touchmove",   touchHandler, true);
		label_elemens[i].addEventListener("touchend",    touchHandler, true);
		label_elemens[i].addEventListener("touchcancel", touchHandler, true);    
	}

userAgent を取得して msie で判定すれば良いようだ。他のブラウザも同様。

	var userAgent = window.navigator.userAgent.toLowerCase();
	if (userAgent.indexOf("msie") > -1) {
		return;
	}
	
	var label_elemens = document.getElementsByClassName("taskLabel");
	var i = 0;
	for(i=0;i < label_elemens.length;i++){
		label_elemens[i].addEventListener("touchstart",  touchHandler, true);
		label_elemens[i].addEventListener("touchmove",   touchHandler, true);
		label_elemens[i].addEventListener("touchend",    touchHandler, true);
		label_elemens[i].addEventListener("touchcancel", touchHandler, true);    
	}

IE6は本当にやっかいだ.....
でもこれでIE6からでも使えるぞ!(使わないけど)