jQuery,添加可拖动到追加对象
jQuery, add draggable to append object
我在ajax请求的success
处理程序中,例如:
$.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);
}
});
所以,在一个循环中,我需要创建一个div divRdv
,将这个div 附加到myElement
,之后,我希望这个div 可拖动。
我该怎么办?
我正在尝试将可拖动添加到每个div,一个接一个,有一种方法可以一次将可拖动添加到多个元素?
这是因为您已经通过附加该代码在 DOM 中添加了该代码。但是由于它不是jQuery对象,它只是作为HTML添加的,并且您的变量只是保存文本,而不是标识dom元素的jquery对象。
因此,当您执行可拖动调用时,您是在全新的jquery(因此,dom)对象上执行此操作,而不是在已添加的对象上。
这样做:
var divRdv = $('<div>My div</div>');
$('myElement').append(divRdv);
divRdv.draggable(); // THIS SHOULD WORK :)
您可以将一个类添加到可拖动的div 中,然后在所有类上调用可拖动的类,如下所示:
$.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 class="draggable">My div</div>';
$('myElement').append(divRdv);
}
$('.draggable').draggable();
},
error: function (xhr, status, error) {
console.log(xhr.responseText);
}
});
类似于 A. Rama 的回答,但带有 jsfiddle: http://jsfiddle.net/4bztfpyf/1/
for ( var i = 0; i < 5; i++ ) {
var divRdv = $('<div>My div</div>');
$('body').append(divRdv);
divRdv.draggable(); // THIS WORKS
}
相关文章:
- 包含数组的对象的QML ListModel追加中断
- 对象没有方法'追加'-需要快速帮助
- 追加子数据 URI,替换 IE 中的其他对象
- 在对象中追加或编辑函数的最快方法是什么
- JQuery选择器找不到通过追加添加的对象
- Angularjs:错误:'追加'对未实现接口FormData的对象调用.jQuery.param/ad
- 动画对象在分离和追加后不继续动画
- 追加到对象文本
- 无法与使用 jquery 追加添加的 dom 对象进行交互
- 在本地存储中追加对象
- 将数据追加到本地存储对象
- 选择菜单更改仅在第一个事件上追加对象列表
- jQuery,添加可拖动到追加对象
- 将对象追加到 JSON 列表
- 将选项对象的数组追加到多个选择
- jquery .after 不对非追加对象工作
- mongoose findOneAndUpdate只追加对象
- 在JavaScript中追加对象和属性
- 如何使用变量JS追加对象调用
- 追加对象到DOM,缓冲事件直到下一个滴答