$(function () { //綁定須要拖拽改變大小的元素對象 bindResize(document.getElementById('test')); }); function bindResize(el) { //初始化參數 var els = el.style, //鼠標的 X 和 Y 軸座標 x = y = 0; //邪惡的食指 $(el).mousedown(function (e) { //按下元素後,計算當前鼠標與對象計算後的座標 x = e.clientX - el.offsetWidth, y = e.clientY - el.offsetHeight; //在支持 setCapture 作些東東 el.setCapture ? ( //捕捉焦點 el.setCapture(), //設置事件 el.onmousemove = function (ev) { mouseMove(ev || event) }, el.onmouseup = mouseUp ) : ( //綁定事件 $(document).bind("mousemove", mouseMove).bind("mouseup", mouseUp) ) //防止默認事件發生 e.preventDefault() }); //移動事件 function mouseMove(e) { //宇宙超級無敵運算中... els.width = e.clientX - x + 'px', //改變寬度 els.height = e.clientY - y + 'px' //改變高度 } //中止事件 function mouseUp() { //在支持 releaseCapture 作些東東 el.releaseCapture ? ( //釋放焦點 el.releaseCapture(), //移除事件 el.onmousemove = el.onmouseup = null ) : ( //卸載事件 $(document).unbind("mousemove", mouseMove).unbind("mouseup", mouseUp) ) } }