jQuery,添加draggable以追加对象

Clé*_*aud 1 javascript jquery jquery-ui

我是successajax请求的处理程序,如:

    $.ajax({
        type: "POST",
        url: "{{ path('getevents') }}",
        data: {start: start, end : end},
        success: function (data) {

            for ( var i = 0; i < data['rdv'].length; i++ ) {
                var divRdv = '<div>My div</div>';
                $('myElement').append(divRdv);

                $(divRdv).draggable(); // THIS DOESN'T WORK
            }
        },
        error: function (xhr, status, error) {
          console.log(xhr.responseText);
      }
  });
Run Code Online (Sandbox Code Playgroud)

所以,在一个循环中,我需要创建一个div divRdv,将这个div附加到myElement,之后,我希望这个div可拖动.

我能怎么做 ?

我试图逐个添加draggable到每个div,有一种方法可以一次添加draggable到多个元素?

小智 5

那是因为你已经通过附加它在DOM中添加了该代码.但由于它不是一个jQuery对象,它只是作为HTML添加而你的变量只是保存文本,而不是一个标识dom元素的jquery对象.

所以,当你进行可拖动调用时,你是在一个全新的jquery(因此是dom)对象而不是你添加的对象上进行的.

做这个:

var divRdv = $('<div>My div</div>');
$('myElement').append(divRdv);

divRdv.draggable(); // THIS SHOULD WORK :)
Run Code Online (Sandbox Code Playgroud)