Поддержка событий Touchenter и touchleave

Я читал о touchenter и touchleave события, в веб-сайт mozilla и сайт W3, но не может найти браузер для его поддержки или любую библиотеку javascript, которая имитирует этот эффект.

пожалуйста, предложите, что можно сделать в качестве обходного пути, поскольку я работаю над некоторым эффектом наведения мыши, событие запускается, когда пальцы входят в элемент, а не когда пользователь снова поднимает и касается элементов.

спасибо :)

4 ответов


Я предлагаю вам использовать

document.elementFromPoint(touch.x, touch.y);

на события touchmove событие.



W3C удалил ontouchenter и ontouchleave, так что мы можем делать только это(с zepto.Яш, сенсорный.js, ontouchmove, elementFromPoint):

var last_touched_button='';
$('#container,#button1,#button2').on('touchmove',function(e){
      var ele=document.elementFromPoint(e.touches[0].clientX, e.touches[0].clientY);
      if (ele==document.getElementById('button1'))
      {last_touched_button='button1';
      }
      else if (ele==document.getElementById('button2'))
      {last_touched_button='button2';
      }
});
$('#container,#button1,#button2').on('swipeLeft',function(e){
      console.log('the button '+last_touched_button+' triggered swipe_into_left_side event or swipe_out_from_left_side event!');
});

список здесь указание совместимости с версией. В настоящее время Chrome, Opera, iOS Safari, Android Browser, Blackberry Browser, Opera Mobile, Chrome для Android, Firefox для android поддерживают эту функцию