2012-04-12 2 views
2

Первое, что я начал делать с Meteor, - это начало создания веб-приложения для мобильных устройств/планшетов с сенсорным интерфейсом. Вот как воспроизвести проблему:События Touch в Метеор

Первый шаг: создать пустой проект

meteor create touch_example 
cd touch_example 
meteor 

Во-вторых, добавить эти вещи в .js файл Это первый бит выплевывает предупреждение для сенсорных устройств и не потому что у них нет консоль.

Meteor.log = function(input){ 
    if (typeof console !== 'undefined' && typeof Touch !== "object") 
     console.log(input); 
    else 
     alert(input); 
} 

И вот преступник.

Template.touchbox.events = { 
    'touchmove' : function (e){ 
     e.preventDefault(); 
     Meteor.log('touchy'); 
    } 
}; 

Последний шаг, измените шаблон вокруг, так что на странице есть хотя бы один «сенсорный» div. В теории она должна принимать события. Вы заметите, что если вы измените «touchmove» на «click», что он работает отлично. Если вы измените его на dblclick, он также будет работать нормально. Прикосновения событий ничего не делают.

+0

Некоторое дальнейшее понимание от метеоров документы показывают, что событие обработчики «проводную с JQuery». Так что, возможно, заглядывая в плагин jQuery, который распознает прикосновение, пока мы ожидаем, что метеор будет меньше зависеть от jQuery? –

+0

FYI, iOS имеет консоль, которая может быть включена в настройках> Safari> Developer - http://maisonbisson.com/blog/post/14447/step-by-step-turn-on-the-iphone-ipads-web- debugging-console/ – rmarscher

ответ

2

Похоже JQuery как стандарт не обрабатывает эти, попробуйте использовать JQuery-мобиля: http://jquerymobile.com/demos/1.1.0/docs/api/events.html

Чтобы добавить его в пакет, который вы можете захотеть взглянуть на мой другой ответ здесь: jQuery-Mobile Meteor sample integration and/or integration guidelines

I нашел какую-то другую помощь в отношении привязки касаний так же, как и события мыши, но это связано с привязкой, и я сомневаюсь, что подключится к материалу live-ui meteor: http://xavi.co/articles/trouble-with-touch-events-jquery

+2

[jQuery Fingers] (http://github.com/chetan51/jquery.fingers) - это легкий плагин jQuery, который вы можете использовать вместо jQuery Mobile, который позволит вам прослушивать события касания, если это все, что вы очень нужно. – Chetan

3

Это может помочь. Я долго искал, чтобы щелкнуть мышью на мобильном телефоне для моего приложения метеоритов. Я обнаружил, вы можете добавить запятую после щелчка, и добавьте touchstart

Template.red.events({ 
'click, touchstart .red': function(event){ 
      // add function 
} 
Смежные вопросы