0

人々が Scriptaculous に追加したものを調べていたときに興味深いコードを見つけたので、自分の目的に合わせて修正しようとしています。ドロップ ハンドラー コードを貼り付けると、ページの読み込みが停止することを除いて、ほぼすべてが機能しました。

関連するスニペットは次のとおりです。

ドラッグ可能の場合:

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

ドロッパブルの場合:

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

ドロップハンドラー:

 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 で動作するように、多くのコードを変更する必要がありましたが、私はそれほど詳しくないので、古いコードと関係があるのでしょうか? または、私が見るのに十分ではない何かが間違っている可能性があります.

4

1 に答える 1

1

この行の最後に終了引用符がありません:

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

それでも問題が解決しない場合は、Firebugを使用してスクリプトをデバッグし、エラーの原因となっている行を確認することをお勧めします。

于 2009-08-10T15:25:51.317 に答える