※ 引述《hsnucsc (hsnugo)》之銘言:
: 請問如果希望可以拖拉網頁上的圖片 各位會怎麼作
: 我想到的方法是把mouseDown時 設一個flag
: move時 style的position跟著改變
: 但是圖片仍無法動
: <div id="pos" style="position:absolute;left:0px;right:0px">
: <img src="a.bmp" onmousedown=down() onmouseup=up() onmousemove=move()>
: </div>
: 請問是哪裡出問題了 非常謝謝
以下假設 node是目標物
drag的原理是
node的onmousedown ->
設event給body(或上層元件,視需求)的onmousemove 。
(在這個move處理node的移動,因為node的move()
要在node的範圍內才有效,會被侷限住,所以要取上層。)
然後node的onmouseup release掉body的 onmousemove。
至於兼顧ie跟fx的event handle其實也很簡單,
ie的event model是透過window.event,
而fx則是採用透過event obj(也就是底下的e)的方式。
function eventHandler(e) {
e = e ? e : window.event;//for ie-fx兼容
/* do something */
}
這是之前研究
http://www.webtoolkit.info/javascript-drag-and-drop.html
他的原始碼所得到的結論,原po可以參考看看,
這個source沒有用任何lib,而且code寫的很簡潔,還蠻具有參考價值得。
--
▄▅▆▇███▇▆▅▄▃ ╰┼╯─╮ ╮
◥███████████◣ ╰┼╯=│=│
◥██████───────◣ *. ╯ ╯ ╯ の 物 語 .*
◥███████──────◣ ~ ◢◣ ◢◣
◥██████───────◤ ◥◤* 空白的世界.翼 *◥◤
◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂~telnet://tony1223.no-ip.info
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.27.68