jsの拡大縮小とドラッグ


cloudgamerを習いました. 書いたドラッグとズーム効果は、ほほほ、大いに利益があります.
だから自分で研究しました.勉強するところがたくさんあります.
 
一、
var BindAsEventListener = function(object, fun) {
	var args = Array.prototype.slice.call(arguments).slice(2);
	return function(event) {
		return fun.apply(object, [event || window.event].concat(args));
	}
}

function addEventHandler(oTarget, sEventType, fnHandler) {
	if (oTarget.addEventListener) {
		oTarget.addEventListener(sEventType, fnHandler, false);
	} else if (oTarget.attachEvent) {
		oTarget.attachEvent("on" + sEventType, fnHandler);
	} else {
		oTarget["on" + sEventType] = fnHandler;
	}
};

function removeEventHandler(oTarget, sEventType, fnHandler) {
    if (oTarget.removeEventListener) {
        oTarget.removeEventListener(sEventType, fnHandler, false);
    } else if (oTarget.detachEvent) {
        oTarget.detachEvent("on" + sEventType, fnHandler);
    } else { 
        oTarget["on" + sEventType] = null;
    }
 上記の方法により、2級イベントを使って登録すると、自分のパラメータが入ります.
addEventHandler(resize, "mousedown", BindAsEventListener(this, this.Start,fun )  );
そして自分が小さく修正したBindAsEvent Listenerの方法です.
var BindAsEventListener_my = function(object, fun) {
	var args = Array.prototype.slice.call(arguments).slice(2);
	return function() {
		return fun.apply(object, [arguments[0] || window.event].concat(args));
	}
}
 これらの方はIEとFFの互換性があります.
 
二番目
泡が出ないようにする
function(e) {
	//    	
e.stopPropagation ? e.stopPropagation() : (e.cancelBubble = true);
}
 選択をクリアし、ドラッグすると、ondragを防ぐことができます.
window.getSelection ? window.getSelection().removeAllRanges() : document.selection.empty();
 
まだたくさんあります.