У меня есть этот код, который отлично перетаскивает вещи в IE, однако в firefox перетаскивание объекта на объект не сразу перетаскивается, но показывает курсор без ввода, а затем после onmouseup объект свободно перемещается. Объект прекращает рисовать на следующем onmouseup. Объект должен перемещаться только в режиме onmousdown, а вызов onmousup должен отменить перетаскивание, сделав j_OK = 0. Я думаю, что это может иметь что-то делать с изображением внутри ...Проблема с задержкой перетаскивания объекта
объект:
<em style=position:absolute;left:0;top:0;width:32;height:32;display:block>
< img src=abc.gif onmousedown=P_MV(this.parentNode) style=position:absolute;left:0;top:0;width:inherit>
</em>
function P_MV(t)
{
p_E=t
j_oy=parseInt(p_E.style.top)
j_ox=parseInt(p_E.style.left)
j_OK=1
document.onselectstart=function(){return false}
document.onmousemove=P_MVy
}
function P_MVy(e)
{
if(j_OK)
{
p_E.style.top=(j_FF?e.clientY:event.clientY)-j_y+j_oy
p_E.style.left=(j_FF?e.clientX:event.clientX)-j_x+j_ox
}
return false
}
код выглядит как он вышел из obfuscater ... Кстати, это хороший код практике придерживаться знак конца-заявления с запятой, даже если JavaScript не требует его [ это делает ваш код более понятным.] ... Кроме того, при определении атрибута элемента html в коде придерживайте кавычки вокруг него, чтобы поддерживать читаемость> _ < – Warty
j_y и j_x никогда не определены в вашем коде? BTW, P_MV заставляет меня думать о p = mv ... [momentum] – Warty
@ItzWarty: добавление точек с запятой не только делает ваш код более чистым, но и предотвращает переполнение кода при его уменьшении. – Robusto