2014-09-23 1 views
1

Я установил mouseover, mouseup, mouseout на элемент rapahel, который прослушивает перетаскивание jquery (элементы, которые перетаскиваются с помощью jquery draggable).На iPad - элементы mouseover, mouseup, mouseout не отображают

this.elem.mouseover(this.handleMouseOver); 
this.elem.mouseout(this.handleMouseOut); 
this.elem.mouseup(this.handleMouseUpOver); 

handleMouseOver : function(e) { 
}, 
.... 

и аналогичным образом для других двух обработчиков.

Он отлично работает на настольных браузерах, хотя ни одно из вышеперечисленных событий не срабатывает, когда я перетаскиваю текст на элемент raphael на ipad/iphone.

Есть ли какие-либо настройки, или пользовательский код должен быть добавлен, чтобы заставить его работать?

Обновление - Я попытался подключить touchstart и touchend события, но если я нахожусь в середине события перетаскивания, они не срабатывают.

+0

Хотите знать, нужны ли вам прикосновения на ipad? – Ian

+0

Я попытался связать touchstart и touchhend, однако, поскольку событие drag уже находится в действии, оно не обнаруживает, что на элементе raphael. – Mutant

+0

http://touchpunch.furf.com/ исправить эту проблему –

ответ

0

Хорошо, для Raphael, реализовать свое собственное сопротивление с помощью: Element.drag(move, start, up) (ref: Element.drag). Причина jQuery UI drag event нестабильна с Raphael DOM (из моего собственного опыта).

  1. move = ... - обновить Rapheal Element (x,y) положение
  2. start = ... - очертить исполнении Raphael Element (проверяет, является ли элемент уже активен)
  3. up = ... - удалить контур Raphael элемент (опционально: отсоединить слушателем)

Примечание: IOS сенсорные триггеры TWOmousedown(), следовательно # 2 проверяет, чтобы избежать этого (не уверен, что IOS 8 делает это тоже)

+0

Если я правильно понимаю, вы предлагаете использовать элемент raphael для той, которую я перетаскиваю. В настоящее время его элемент HTML, и я перетаскиваю элемент raphael. Допустим, я использую элемент raphael для перетаскивания и размещения его над другим элементом raphael, как бы я обнаружил, над каким элементом вызывается событие drop. – Mutant

+0

Рафаэль тоже обрабатывает все это. Цитата: «... Когда элемент будет перетаскиваться по другому элементу,« drag.over »' также будет запущен ». –