Кто-нибудь знает о JQuery UI виджет мыши? - PullRequest
5 голосов
/ 01 апреля 2011

Я начал работать с jQuery UI.

Я хочу узнать больше о виджете мыши jQuery UI. Я пытаюсь выяснить документацию этого, но это не доступно. Кто-нибудь знает, где находится ресурс?

Ответы [ 3 ]

6 голосов
/ 28 декабря 2011

Извлеките http://bililite.com/blog/understanding-jquery-ui-widgets-a-tutorial/ раздел под названием «Вовлечение мыши»

Вызовите this._mouseInit в функции _init вашего виджета, затем перезапишите функции _mouseDown, _mouseDrag и т. Д.

4 голосов
/ 08 мая 2012

Виджет «Мышь» - это внутренний плагин, который, кажется, в основном (или только) используется для низкоуровневой обработки перетаскиванием мышью.

Я только что написал сообщение в блоге об использовании его для прокрутки собственного перетаскивания (вместо использования Draggable): http://www.solitr.com/blog/2012/05/roll-your-own-drag-and-drop-handling-with-jquery-ui/

Суть в том, что вы можете создать подкласс, например, так:

$.widget('ui.custommouse', $.ui.mouse, {
  options: {
    mouseStart: function(e) {},
    mouseDrag: function(e) {},
    mouseStop: function(e) {},
    mouseCapture: function(e) { return true; }
  },
  // Forward events to custom handlers
  _mouseStart: function(e) { return this.options.mouseStart(e); },
  _mouseDrag: function(e) { return this.options.mouseDrag(e); },
  _mouseStop: function(e) { return this.options.mouseStop(e); },
  _mouseCapture: function(e) { return this.options.mouseCapture(e); }
  // Bookkeeping, inspired by Draggable
  widgetEventPrefix: 'custommouse',
  _init: function() {
    return this._mouseInit();
  },
  _create: function() {
    return this.element.addClass('ui-custommouse');
  },
  _destroy: function() {
    this._mouseDestroy();
    return this.element.removeClass('ui-custommouse');
  },
});

Затем создайте экземпляр custommouse плагина, который вы только что определили, и передайте свой собственный обработчики событий как опции:

$('#containerElement').custommouse({
  mouseStart: function(e) { ... },
  mouseDrag: function(e) { ... },
  mouseStop: function(e) { ... }
});
1 голос
/ 01 апреля 2011

Новый файл плагина мыши делает пользовательский интерфейс jQuery в среднем на 14% меньше. Плагин мыши не новый, но этот выпуск перемещает его в свой собственный файл, jquery.ui.mouse.js, где раньше он был внутриJQuery UI Core.Это означает, что плагины jQuery UI, которые не зависят от плагина мыши, но ранее включали в себя ядро ​​jQuery UI, содержат меньше неиспользуемого кода со средним улучшением общего размера файла на 14%.Это просто в среднем.Некоторые улучшения могут достигать 36%.

из блога jQuery 2010 март

в вашей библиотеке jQuery (например, от Google * 1010)*) вы можете найти его как * jQuery UI Mouse 1.8.11 и дополнительную информацию на jQuery UI Mouse на веб-сайте JQs .

...