Запретить jQuery запускать mouseenter на сенсорных устройствах
Я написал несколько причудливых эффектов прокрутки наведения в jQuery. Они отлично работают на настольном компьютере. Моя проблема в том, что на мобильном устройстве, поскольку пользователь нажимает на экран, мой код все еще считает, что пользователь зависает на моем .scrollright div и продолжает прокрутку.
Как я могу отключить это, или иначе просто предотвратить эту проблему, на мобильных/планшетных устройств?
$('.thumbnails .scrollright').on('mouseenter', function() {
this.iid = setInterval(function() {
var CurrentScrollLeft = $( ".thumbnails .thumbnailphotos" ).scrollLeft();
$( ".thumbnails .thumbnailphotos" ).scrollLeft( CurrentScrollLeft+10 );
}, 50);
}).on('mouseleave', function(){
this.iid && clearInterval(this.iid);
});
1 ответов
быстрая проверка для касания возможно?
var tap = ("ontouchstart" in document.documentElement);
затем оберните свой код в условие:
if(!tap){
$('.thumbnails .scrollright').on('mouseenter', function() {
this.iid = setInterval(function() {
var CurrentScrollLeft = $( ".thumbnails .thumbnailphotos" ).scrollLeft();
$( ".thumbnails .thumbnailphotos" ).scrollLeft( CurrentScrollLeft+10 );
}, 50);
}).on('mouseleave', function(){
this.iid && clearInterval(this.iid);
});
}
что-то вроде этого в любом случае.