Перемещение объектов, ff
Добрый день!
У меня есть список, элементы списка можно менять местами перетаскивая их мышкой. В хроме работает шикарно, и в мозиле, если тащить не за текст, а за пустое место элемента списка. Если тащить за текст, то браузер пытается перетащить сам текст (чтобы скопировать) и начинает глючить. У есть идея закрывать текст дивом, но решение не красивое. (user select none поставил) Главная часть кода: //Конструктор var Line = function ($dom) { this.$ = $dom; this.$.data('line', this); this.body = null; this.index = null this.init(); }; //Инициализация обработчиков Line.prototype.init = function () { this.$.mousedown(this.handlers.onMouseDown); this.body = bodyArray[index]; this.index = index; index++; (this.$.hasClass('selected')) ? this.body.addClass('selected') : false; }; //Назначение обработчиков Line.prototype.handlers = { onMouseDown: function (e) { var line = $(this).data('line'); line.onMouseDown(); }, onMouseUp: function () { Line.getActive().onMouseUp(); }, mouseMove: function (e) { var line = Line.getActive(); line.onMuve(line.getY(e)); } }; //Обработчики: Line.prototype.onMouseDown = function () { Line.setActive(this); Line.setSelected(this); $(document).bind('mousemove', this.handlers.mouseMove); $(document).bind('mouseup', this.handlers.onMouseUp); Line.parent.toggleClass('noneUserSelect'); this.select(); }; Line.prototype.onMuve = function (y) { if (!this.isLast()) { if (y > this.getNext().getCenter()) { this.insertAfter(this.getNext()); } } if (!this.isFirst()) { if (y < this.getPrev().getCenter()) { this.insertBefore(this.getPrev()); } } clearSelection(); }; Line.prototype.onMouseUp = function () { $(document).unbind('mousemove', this.handlers.mouseMove); $(document).unbind('mouseup', this.handlers.onMouseUp); Line.setActive(null); Line.parent.toggleClass('noneUserSelect'); this.showBody(); if (this.isFirst()) { this.$.removeClass('li_second'); } clearSelection(); }; |
Решил проблему. Браузер пытался скопировать не текст, а ссылку (в списках лежали ссылки), заменил на спан и все заработало.
Всем спасибо! |
Часовой пояс GMT +3, время: 06:32. |