Mousedown Event с совместимостью ipad / iphone?- jQuery Mobile - PullRequest
4 голосов
/ 15 декабря 2010

Я написал небольшой скроллер в jquery.Скроллер, кажется, отлично работает на ПК и Mac.Однако это не работает на сенсорных устройствах.

Я думаю, это связано с тем, что вызывается свойство mousedown.Как мне сделать это на ПК и устройствах с сенсорным экраном?

Спасибо

$('.scroll-nav-up, .scroll-nav-down').live('click', function(){
    $('.scroller-wrap').stop();
    return false;
});


$('.scroll-nav-up').live('mousedown', function(){

    $(this).closest('.item').find('.scroller-wrap').animate({
        top: -($(this).closest('.item').find('.scroller-wrap').height() - 250)
    }, 800);

});


$('.scroll-nav-down').live('mousedown', function(){

    $(this).closest('.item').find('.scroller-wrap').animate({
        top: 0
    }, 800);

});

Ответы [ 2 ]

1 голос
/ 18 декабря 2010

Ничего особенного не найдено, поэтому в данный момент я использую 2 скрипта. Первый сценарий идентифицирует устройства с сенсорным экраном, написанные Аластером Кэмпбеллом для Обнаружение сенсорного просмотра .

function isTouchDevice() {
   var el = document.createElement('div');
   el.setAttribute('ongesturestart', 'return;');
   if(typeof el.ongesturestart == "function"){
      return true;
   }else {
      return false
   }
}

, а затем используйте событие mousedown для обычных браузеров и событие tap для устройств с сенсорным экраном.

P.S. - Использование jQuery и jQuery Mobile

1 голос
/ 15 декабря 2010

Если вы используете jquery mobile, попробуйте обработать его новые события tap и taphold

http://jquerymobile.com/demos/1.0a2/#docs/api/events.html

Я не могу это проверить, так что это всего лишь идея (я не уверен, что понимаю, что делает ваше приложение), но вы можете попробовать изменить событие click на mouseup.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...