Поддержка мобильных сенсорных устройств — в закрытой библиотеке

#touch #mobile-website #javascript-framework #google-closure-library

#сенсорный #мобильный-веб-сайт #javascript-framework #google-закрытие-библиотека

Вопрос:

Мне просто интересно, есть ли у нас определенная библиотека или фреймворк, построенный на closure-library, который специально разработан для сенсорных устройств (Android или Ipad). У меня уже есть веб-приложение, использующее closure-library, теперь я хочу поддерживать согласованность для мобильных сенсорных устройств или планшетов.

Существует множество других фреймворков или плагинов для других библиотек, таких как:http://www.sencha.com/products/touch / — (Ext.js) http://jqtouch.com / — (jquery)

Есть ли у нас что-то подобное для closure-library. Может кто-нибудь, пожалуйста, помочь мне в этом.

Ответ №1:

Насколько я знаю, события простого КАСАНИЯ уже определены

 /**
* Constants for event names.
* @enum {string}
*/
goog.events.EventType = {
    ...
    // WebKit touch events.
    TOUCHSTART: 'touchstart',
    TOUCHMOVE: 'touchmove',
    TOUCHEND: 'touchend',
    TOUCHCANCEL: 'touchcancel',

}
  

Но нет средства распознавания жестов.

Если вы используете веб-набор жестов (Safari), вам придется создать свой собственный внешний файл.

https://developer.apple.com/library/iad/documentation/UserExperience/Reference/GestureEventClassReference/index.html#//apple_ref/javascript/cl/GestureEvent

Ответ №2:

Если вы загружаете библиотеку touch с сайта jQueryMobile. Просто создайте jQueryMobile только с их библиотекой touch. Импортируйте это в свой проект. Тогда создайте карту, как я сделал…

   var hasTouch = 'ontouchstart' in window;

  var humanEvents = {

    DOWN: (hasTouch) ? goog.events.EventType.TOUCHSTART : goog.events.EventType.MOUSEDOWN,
    OVER: (hasTouch) ? goog.events.EventType.TOUCHSTART : goog.events.EventType.MOUSEOVER,
    MOVE: (hasTouch) ? goog.events.EventType.TOUCHMOVE : goog.events.EventType.MOUSEMOVE,
    UP: (hasTouch) ? goog.events.EventType.TOUCHEND : goog.events.EventType.MOUSEUP,
    OUT: (hasTouch) ? goog.events.EventType.TOUCHEND : goog.events.EventType.MOUSEOUT,
    CLICK: (hasTouch) ? "tap" : goog.events.EventType.CLICK

  };