我一直在尝试解决这个问题大约一天,但我并没有取得太大进展。我想要两个列表,并通过双击在它们之间移动列表项。如果我有一个事件是“click”,另一个是“dblclick”,我可以让它工作,但这不是我想要的。如果我在这两种方法中附加“dblclick”事件,列表项将不会移动,只会在当前列表中重新排序。这是一个演示我的问题的 JSFiddle。我目前已经设置好了,所以一个事件是“click”,另一个是“dblclick”。如果您将实时函数中的参数更改为“单击”,使其与其他处理程序匹配,您将看到我遇到的问题。
HTML
<div id="orig">
<ul>
<li class="original">one</li>
<li class="original">two</li>
<li class="original">three</li>
</ul>
</div>
<div id="moved">
<ul>
</ul>
</div>
CSS
#orig {
width: 40%;
height: 300px;
overflow: auto;
float: left;
border: 1px solid black;
}
#moved {
width: 40%;
height: 300px;
overflow: auto;
float: right;
border: 1px solid black;
}
jQuery
$(function() {
$(".original").click(function(){
this.className = "moved";
$("#moved ul").append(this);
});
$(".moved").live("dblclick", function() {
this.className = "original";
$("#orig ul").append(this);
});
});
这是一个JSfiddle