这是我的代码:
$(document).ready(function () {
var $div = $('<div>my test</div>').draggable().appendTo('body');
$div.attr('id', 'Test');
});
//$('div#Test'.draggable({
$('div').draggable({
stop: function (event, ui) {
var draggableId = $(this).attr("id");
alert(draggableId);
}
});
在拖动动态div时,我预计stop函数会显示警告。但它不起作用。我做错了什么?
提前感谢您的帮助!
答案 0 :(得分:1)
当您创建div
元素时,您可以在其上调用draggable
,但不进行任何设置。试试这个:
var draggableSettings = {
stop: function (event, ui) {
var draggableId = $(this).attr("id");
alert(draggableId);
}
}
$(document).ready(function () {
$('div').draggable(draggableSettings); // any pre-existing divs
// the dynamically created div
var $div = $('<div>my test</div>', { 'id': 'Test').draggable(draggableSettings).appendTo('body');
});
另请注意,对加载时draggable的调用需要放在文档就绪处理程序中。