让对象保持在scriptaculous droppable中

时间:2009-08-10 15:07:54

标签: javascript scriptaculous draggable droppable

当我查看人们添加到Scriptaculous中的内容时,我发现了一些有趣的代码,并且我正在尝试根据我的目的修改它。我得到了几乎所有的工作,除非我粘贴下拉处理程序代码,我的页面停止加载。

以下是相关片段:

对于draggables:

for (i=0; i<=50; i++){
     Squad = 'Squad' + i
     if($(Squad)){
          new Draggable(Squad,{revert:true});

对于Droppables:

Droppables.add('ToEast', {
     accept: ["Nurse","Squad","Doctor"], 
     onDrop:function(e){DropHandler(e,'ToEast')}
});

drophandler:

 function DropHandler(element,el){
     var newnode  = document.createElement('img'); 
     var classname = element.className;
     newnode.src="images/"+IdCatcher+".jpg";
     newnode.id = IdCatcher;  
     $(el).appendChild(newnode);
     newnode.setAttribute("class", 'classname');
     newnode.setAttribute("className", 'classname);
     new Draggable(newnode.id,{revert:true});
     element.parentNode.removeChild(element);
 }

我用“alert()”替换了代码并且它开始工作正常,所以最后一个块中的某些东西运行不正常。我不得不修改他们的很多代码,以使它适用于当前版本的scriptaculous,但我不是那么熟悉,所以它可能与旧代码有关?或者可能只是出现了一些问题,我还不够好看。

1 个答案:

答案 0 :(得分:1)

您在此行末尾缺少结束语:

newnode.setAttribute("className", 'classname);

如果仍有问题,建议您尝试使用Firebug调试脚本,以查看哪一行导致错误。