Tôi đang sử dụng mã bên dưới để cho phép kéo và thả cảm ứng trên trang web của mình. Tuy nhiên, trong khi các phần của mã của tôi có chức năng kéo/thả hoạt động, trên iPhone, tôi không thể cuộn hoặc di chuyển trang. Tôi có thể kéo thả &, nhưng chức năng cảm ứng iPhone thông thường đã biến mất!Kéo thả trên thiết bị di động sử dụng một số mã dịch sự kiện (bao gồm mã), nhưng sự kiện bình thường không hoạt động
Tôi đã tìm thấy đoạn mã dưới đây trong một số phản hồi lưu lượng truy cập stackoverflow vì vậy tôi tự hỏi liệu có giải pháp cho việc này hay không. Tôi muốn có thể kéo & thả trên cả hai trang web & thiết bị di động.
Cảm ơn!
đang kéo tôi (chỉ là một danh sách):
$(function() {
$(".drag_me ul").sortable();
});
mã cho sự kiện liên lạc:
function touchHandler(event)
{
var touches = event.changedTouches,
first = touches[0],
type = "";
switch(event.type)
{
case "touchstart": type = "mousedown"; break;
case "touchmove": type="mousemove"; break;
case "touchend": type="mouseup"; break;
default: return;
}
var simulatedEvent = document.createEvent("MouseEvent");
simulatedEvent.initMouseEvent(type, true, true, window, 1,
first.screenX, first.screenY,
first.clientX, first.clientY, false,
false, false, false, 0/*left*/, null);
first.target.dispatchEvent(simulatedEvent);
event.preventDefault();
}
function init()
{
document.addEventListener("touchstart", touchHandler, true);
document.addEventListener("touchmove", touchHandler, true);
document.addEventListener("touchend", touchHandler, true);
document.addEventListener("touchcancel", touchHandler, true);
}
Chỉ muốn nói rằng tôi sử dụng ứng dụng này trên một ứng dụng web của tôi dành cho iPad. Tất cả các sự kiện khác hoạt động tốt, nó phải là một lỗi trong mã của bạn. Để tham khảo: http://www.midemos.com/demos/iphone/touch/?/iphone/touch/ – Charlie