我在我的代碼中使用了hammer.js插件進行拖拽事件,它在頁面首次加載時正常工作,但在重新加載相同頁面時不起作用。爲什麼?重新加載網頁時,拖動事件不起作用
(函數(){
$.fn.touchpanzoom = function() {
var $img = $(this)
var zoomer = $img.panzoom()
var hammer = new Hammer($img.get(0), {
prevent_default: true
})
applyDragFunction(zoomer, hammer)
}
功能applyDragFunction(伸縮鏡頭,錘){
var dragTimer = null
var lastDrag = {
x: 0,
y: 0
}
var currentDrag = {
x: 0,
y: 0
}
function updateDrag() {
var x = lastDrag.x - currentDrag.x
var y = lastDrag.y - currentDrag.y
lastDrag.x = currentDrag.x
lastDrag.y = currentDrag.y
zoomer.pan(x, y, 0)
}
hammer.ondragstart = function(e) {
lastDrag.x = 0
lastDrag.y = 0
dragTimer = setInterval(updateDrag, 20)
return false
}
hammer.ondrag = function(e) {
currentDrag.x = e.distanceX
currentDrag.y = e.distanceY
return false
}
hammer.ondragend = function() {
clearInterval(dragTimer)
updateDrag()
return false
}
} } () )
Please visit this site to download the Plugin
請格式化更好。 – Holybreath