2011-03-17 19 views
4

这个应该是是一个容易的,但通过我在网上做的所有研究,我似乎无法找到解决方案!jQuery - 双击访问一个项目的ID

我使用.sortable目前有一个排序列表,然后通过双击一个.bind事件,与绑定事件如下:

$("#controlContainer").sortable({ 
    blah blah 
}) 
.bind('dblclick', function(event) { 
    alert($(event.eventData).attr('id')); 
}); 

我的问题是,上面没有按不起作用,我需要获取已被双击的元素的ID,但无法找到访问它的方式。

任何人有任何解决方案?将不胜感激。

回答

8

尝试更改event.eventDataevent.target

.bind('dblclick', function(event) { 
    alert($(event.target).attr('id')); 
}); 
+0

谢谢,解决问题!我已经尝试过event.target,但主要问题是一旦该项目被克隆到可排序列表中,该ID就不会复制。 – 2011-03-21 08:48:24

0

尝试

alert($(this).attr('id')); 
+0

如果'#controlContainer'包含多个孩子,'this'将是'#controlContainer'(父母),'event.target'将是孩子。例如:http://jsfiddle.net/9pTMC/ – 2011-03-17 17:45:53

+0

我测试了它并同意。谢谢。 – 2011-03-17 17:48:18

1

尝试event.target

alert(event.target.id); 

event.data是用于访问传递给到bind数据。

例子:

.bind('click', {foo: 42}, function(event) { 
    alert(event.data.foo); 
});