HY,
我有这个jquery代码,它做的是在数据库中保存(通过ajax)数据库中div的位置, 但是我不知道如何在drop事件中获得div的id
$().ready(function () {
$('.dragDiv').Drags({
handler: '.handler',
onMove: function (e) {
//$('.content').html('Div Position:(Left:' + e.pageX + ' ,Top:' + e.pageY + ')');
//$('.content').html(done);
},
onDrop: function (e) {
//$('.content').html('dropped!' + e.pageX);
$.ajax({
url: 'includes/scripts/data.php',
data: "top=" + e.pageX + "&left=" + e.pageY + ""
});
}
});
$('.dragDiv2').Drags({
handler: '.handler2',
zIndex: 200,
opacity: .9
});
});
答案 0 :(得分:2)
使用此:
$('.dragDiv').attr("id");
修改强>
如果您想尝试此操作,可以尝试使用以下命令获取onDrag函数中的id:
var id = $(this).attr('id');
验证这是div的正确ID,如果是,则建议使用此方法。
修改强> 好点'影子巫师'
var id = this.id;
修改强>
如果以前的所有方法都失败了,请使用jQuery事件目标:
var $target = $(e.target);
var id = null;
if($target.hasClass('dragDiv')) {
id = $target[0].id;
} else {
id = $target.parents('.dragDiv').first()[0].id;
}
这应该进入您的onDrag
方法。
答案 1 :(得分:1)
我认为你可以使用“this”关键字来获取被拖动的对象。
这意味着你可以写$(this).attr("id")
答案 2 :(得分:0)
我不知道这个.Drags()
插件,但在其事件处理程序中逻辑上使用this.id
应该足够了。