Я использую YUI для добавления поддержки перетаскивания в div. Это также отвечает на щелчки. К сожалению, поведение щелчка вступает в силу даже после операции перетаскивания. Вот фрагмент кода:
// Create a DOM object for the group tag.
div = document.createElement('div');
div.className = 'group';
div.onclick = function() { beginEditName(); }
container.appendChild(div);
// Enable drag/drop for the group tag.
dragdrop = new YAHOO.util.DD(div);
dragdrop.scroll = false;
dragdrop.on('dragEvent', function(ev) { onDrag(ev); });
dragdrop.on('endDragEvent', function(ev) { onEndDrag(ev); });
dragdrop.setXConstraint(0,0);
Клик должен редактировать текст, в то время как перетаскивание должно перемещать тег. Однако происходит событие onclick, поэтому редактирование текста начинается после перемещения тега.
Я мог бы обойти проблему, но есть ли более прямой способ YUI отличить простой щелчок от перетаскивания?