2012-01-21 2 views
1

У меня есть изображение, которое при запуске onmousedown запускает функцию, которая меняет свой класс и делает ее перетаскиваемой, однако в первый раз, когда я перетаскиваю ее, она не будет перетаскивать, она меняет класс, но не будет бремя? После того, как intial не удалось перетащить, если вы затем перетащите его снова, он будет перетаскиваться, но почему он не перетащит сначала?JQuery UI draggable wont drag first time

function element_click(element_class){ 
     $("#"+element_class).draggable("enable"); 
     $("."+element_class).addClass("element_select"); 
     $("#"+element_class).draggable({disabled: false, opacity:0.9, revert: true, stop: function(event, ui){$(".element_select").removeClass('element_select'); $("#"+element_class).addClass(element_class); $("#"+element_class).draggable("disable"); } }); 
    } 

<img id="element_air_1" style="z-index: 5;" class="element_air_1" onmousedown="javascript: element_click('element_air_1')" src="Doodle God Elements/air.png">

ответ

0

Добавить этот блок кода в скрипте:

window.onload = function(){ 
    element_click($('#element_air_1').attr('class')); 
} 

Это запустит скрипт перед первым щелчком мыши.

+0

Спасибо, теперь реальная проблема, которую я пытаюсь сделать, потому что все имена классов и идентификаторы загружаются из базы данных, но я что-то придумаю, спасибо для вашей помощи :) –

2

Вы предназначены, чтобы сделать его перетаскиваемым раз когда он добавляется к DOM, перед тем он получает тащили в первый раз.

+1

Я считаю это объяснение решает большую проблему, спасибо – PopoFibo