2010-02-25 115 views
0

如果我第一次只写我的代码,可能是最好的。我有:在拖放之后隐藏一个可拖动的(scriptaculous)

<li class="sorted" id='<%= domid %>'> 
    <%= horse.name %> 
</li> 
<%= draggable_element(domid, :ghosting=>true) %> 

在某些“盒子”上拖放之后,名称= horse.name的可拖动元素停留在它上面。我想删除它(名称)。我正在尝试不同的事情。

按说我将不得不写普通的JavaScript(我不知道如果多数民众赞成的情况下,但)如果我这样做,我有让我有JS插入父元素ID的问题。

var mydrag = new Draggable(domid, { ghosting: true }); 
// then destroy it when you don't need it anymore 
mydrag.destroy(); 

我怎样才能得到适当的domid。这样的this.parentNode.id?我也试过

<%= draggable_element(domid, :ghosting=>true, :endeffect => "this.hide();") %> 

没有成功。

所以我的问题是如何删除拖动后的元素?

回答

1

您可以使用endeffect,像这样:

var mydrag = new Draggable(domid, { ghosting: true, endeffect:function() { $(domid).hide() } }); 
+0

我只能尽量您的版本是这样的: <%= draggable_element(domid,:鬼影=>真实,:endeffect =>“功能(){ $(#{domid})。hide()}“)%> 因为我无法获得表示可拖动到javascript的父dom元素的变量(!domid!)。 如果我尝试这样(与draggable_element rails scriptaculous助手)它真的似乎消失,但只是一秒钟。然后再次放在我的鼠标上和放置接收元件上。我也尝试.remove()和.destroy()而不是隐藏,但它不起作用。 无论如何感谢您的答案! – user275447 2010-02-25 21:25:41

+0

实际上,它只是隐藏在我刚才注意到的可放置元素的悬停效果后面。所以当我离开它时再次显示。 – user275447 2010-02-25 21:34:07

+0

我不熟悉RoR,但是可以将“domid”作为全局变量进行decalre,然后可以在函数内部访问它。 – 2010-02-25 21:42:20

相关问题