Делаем элемент менее чувствительным к перетаскиванию в script.aculo.us - PullRequest
1 голос
/ 21 октября 2011

script.aculo.us Draggable запускает событие слишком энергично. Когда пользователь пытается щелкнуть, это интерпретируется как перетаскивание, когда мышь перемещается только на 1 пиксель.

Как бы добавить правило для определенного компонента, которое составило бы:

Не считайте это событием перетаскивания, если мышь не переместилась на 10 пикселей от точки, в которой была нажата.

Спасибо.

<div id="drag" style="width:100px; height:100px; background:#fff85d; border:1px solid #333;"></div>
<script type="text/javascript">
   new Draggable('drag', { revert: true });
</script>

1 Ответ

0 голосов
/ 21 октября 2011

Я бы предложил поставить задержку на перетаскиваемую область 100-200 мс и уничтожить перетаскиваемую мышью.Таким образом, если кнопка отпущена в течение периода задержки, ничего не происходит.

Я представляю, что она будет работать примерно так (не проверено):

var dd = new Draggable('drag', { revert: true, delay:150 });

document.observe("mouseup", function() {
  dd.destroy() 
});
...