0
是否有任何類似touchUpOutside是iOS的事件? touchDragInside? touchDragOutside?Javascript中的iOS touchUpOutside事件?
任何類型的事件都是以一個元素上的觸發開始,但是被拖到元素的框架之外?
是否有任何類似touchUpOutside是iOS的事件? touchDragInside? touchDragOutside?Javascript中的iOS touchUpOutside事件?
任何類型的事件都是以一個元素上的觸發開始,但是被拖到元素的框架之外?
W3C定義了一個touchleave
事件,但在我的實驗中,它尚未在Mobile Safari中實現。但是,您可以使用touchstart
和touchmove
事件的組合解決此:
window.addEventListener('load', function() { // on page load
var element;
document.addEventListener('touchstart', function(event) {
event.preventDefault();
var touch = event.touches[0];
element = document.elementFromPoint(touch.pageX,touch.pageY);
}, false);
document.addEventListener('touchmove', function(event) {
event.preventDefault();
var touch = event.touches[0];
if (element !== document.elementFromPoint(touch.pageX,touch.pageY)) {
var event = new CustomEvent("touchleave", { detail: { touches: event.touches, }, bubbles: false, cancelable: false });
element.dispatchEvent(event);
}
}, false);
}, false);
您可以監聽的事件這樣的特定元素:
var box = document.getElementById('box');
box.addEventListener('touchleave', function(e) {
// Handle the touch leave event here
}, false);
謝謝,這代表touchDragOutside,如果我是對的。還必須弄清楚touchDragInside和touchUpOutsite。無論如何,沒有觸摸事件已經存在觸摸元素的.target? – Geri
是的,它是'touchDragOutside'。對於'touchUpOutside',噹噹前觸點下的元素與'touchstart'中的元素不匹配時,您將從'touchend'派發事件。我的答案中有足夠的細節讓你自己去實現這一點。在事件對象中包含元素只是一些測試的補充。 – neilco
Yap。也許我會用一個根控制器來觀察身體的某種視圖對象。 – Geri