2013-06-25 3 views
2

в этот период я ​​создаю несколько новых webApps, но у меня есть большая проблема с перетаскиванием. Я пишу файловый менеджер в javascript, но когда на мобильном телефоне (смартфоне, планшете andorid или iOs) я пытаюсь работать с перетаскиванием, телефон показывает мне меню longPress (на иконке папки для примера) для копирования URL-адреса или изображения. есть какой-то способ в JS отключить longPress на мобильных устройствах?Отключить действие longPress на мобильном телефоне с помощью javascript

Загрузить изображение через css, это недействительные решения для меня.

+0

вы используете JQuery Mobile? – Omar

ответ

6
-webkit-touch-callout: none;                /* prevent callout to copy image, etc when tap to hold */ 
   -webkit-user-select: none;                  /* prevent copy paste, to allow, change 'none' to 'text' */ 
0

проверить значение navigator.userAgent и сравнить с Android | Iphone | Ipad и т.д., и в вашем Java Script вы можете сделать следующее

function init() { 
    onLongPress(document.getElementById('element')); 
} 

function onLongPress(node) { 
    node.ontouchstart = nullEvent; 
    node.ontouchend = nullEvent; 
    node.ontouchcancel = nullEvent; 
    node.ontouchmove = nullEvent; 
} 

function nullEvent(event) { 
    var e = event || window.event; 
    e.preventDefault && e.preventDefault(); 
    e.stopPropagation && e.stopPropagation(); 
    e.cancelBubble = true; 
    e.returnValue = false; 
    return false; 
}