2012-03-20 56 views
0

我正在尝试使用原型制作新的可拖动元素。第一个元素被添加并且可拖动,但是如果我点击添加另一个元素,则第二个元素不可拖动。以下是我迄今为止:具有原型的可拖动元素

var i = 1; 
function addDragElement() { 
     var str = i + '.png'; 
     var attrs = { 
      src : str, 
      class : 'product-tag-image', 
      id : 'product-tag-image' + i, 
     }; 
     var img = new Element('img', attrs); 
     $('look-image').insert(img); 

     new Draggable(img, 
      { onEnd : function(){ 
       alert(img.offsetTop + ", " + img.offsetLeft); 
      } 
     }); 
     i++; 
} 

任何想法,为什么第一个会工作,但添加任何其他元素不灵验呢?

回答

0

我得到了这个工作。我用$(document.body').insert(img)替换了$('look-image').insert(img);;

我没有得心应手的形象,所以我加了一些CSS,使您插入的图片可见:

.product-tag-image { 
    width:50px; 
    height:50px; 
    display:block; 
    border:1px solid #ff0000  
} 

似乎罚款。你有任何JS错误? (我起初是因为忘记包含Scriptaculous)。

+0

我有一个元素的外观图像的id,这是可拖动的项目插入的位置。没有错误,插入的第一个工作正常,当拖动完成时,我会得到顶部和左侧的值。但是我需要添加多个项目并使它们可拖动,这就是它打破的地方,添加的第二个项目不能使用这个拖动。 – sudopratt 2012-03-20 22:44:38

+0

它对我来说绝对很好:http://jsfiddle.net/Diodeus/yxxEr/ – 2012-03-21 13:26:32