釋放的代碼為什么一定要放在fnDown里面
下面這個代碼:
function fnDown() {
? ? ? ?var oDrag = document.getElementById('loginPanel');
? ? ? ?//document.title = event.clientX + ',' + event.clientY; ? ? //顯示鼠標坐標
? ? ? ?var disx = event.clientX - oDrag.offsetLeft;
? ? ? ?var disy = event.clientY - oDrag.offsetTop;
? ? ? ?//移動
? ? ? ?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,在拖動的時候。第一次拖動鼠標然后松開鼠標是正常的,第二次拖鼠標的時候再送開鼠標,釋放的程序就好像沒執行一樣,光標移至和圖片一起移動。請問這是為什么?
2017-04-27
沒有按下去哪里的的釋放之說呢?也就說釋放是建立在按鈕已經按下的前提下,所以要放在按下的里面