釋放的代碼為什么一定要放在fnDown里面
下面這個(gè)代碼:
function fnDown() {
? ? ? ?var oDrag = document.getElementById('loginPanel');
? ? ? ?//document.title = event.clientX + ',' + event.clientY; ? ? //顯示鼠標(biāo)坐標(biāo)
? ? ? ?var disx = event.clientX - oDrag.offsetLeft;
? ? ? ?var disy = event.clientY - oDrag.offsetTop;
? ? ? ?//移動(dòng)
? ? ? ?document.onmousemove = function (event) {
? ? ? ? ? ?event = event || window.event;
? ? ? ? ? ?var l = event.clientX - disx;
? ? ? ? ? ?var t = event.clientY - disy;
? ? ? ? ? ?var winW = document.documentElement.clientWidth || document.body.clientWidth,
? ? ? ? ? ? ? ?winH = document.documentElement.clientHeight || document.body.clientHeight,
? ? ? ? ? ? ? ?maxW = winW - oDrag.offsetWidth - 10,
? ? ? ? ? ? ? ?maxH = winH - oDrag.offsetHeight;
? ? ? ? ? ?if (l < 0) {
? ? ? ? ? ? ? ?l = 0;
? ? ? ? ? ?} else if (l > maxW) {
? ? ? ? ? ? ? ?l = maxW;
? ? ? ? ? ?}
? ? ? ? ? ?if (t < 10) {
? ? ? ? ? ? ? ?t = 10;
? ? ? ? ? ?} else if (t > maxH - 10) {
? ? ? ? ? ? ? ?t = maxH;
? ? ? ? ? ?}
? ? ? ? ? ?oDrag.style.left = l + 'px';
? ? ? ? ? ?oDrag.style.top = t + 'px'
? ? ? ?}
? ? ? ?//釋放
? ? ? ?document.onmouseup = function () {
? ? ? ? ? ?document.onmousemove = null;
? ? ? ? ? ?document.onmouseup = null;
? ? ? ?}
}
我把釋放那一塊移出fnDown,在拖動(dòng)的時(shí)候。第一次拖動(dòng)鼠標(biāo)然后松開(kāi)鼠標(biāo)是正常的,第二次拖鼠標(biāo)的時(shí)候再送開(kāi)鼠標(biāo),釋放的程序就好像沒(méi)執(zhí)行一樣,光標(biāo)移至和圖片一起移動(dòng)。請(qǐng)問(wèn)這是為什么?
2017-04-27
沒(méi)有按下去哪里的的釋放之說(shuō)呢?也就說(shuō)釋放是建立在按鈕已經(jīng)按下的前提下,所以要放在按下的里面