我整天都被困在这一天。当它在动态生成的元素上离开(引发'out'事件)时,我似乎无法获得jquery注册。
我正在尝试构建一个可排序列表,我需要在元素之间使用间隔符来突出显示用户拖动它的时间,然后当用户离开它时消失。到目前为止它已经有60%的工作时间,但是当鼠标离开时我无法触发jQuery。
HTML
<div id="draggable">drag me</div>
<div class="item"></div>
<div class="tray"></div>
CSS
#draggable{
z-index:1001;
}
.item{
width:400px;
height:30px;
background-color:red;
}
.tray{
width:400px;
background-color:yellow;
}
.tray.open{
height:30px;
}
的Javascript
$('#draggable').draggable({
revert:true,
stop:function(){
$('.tray').removeClass('open');
}
});
$('.item').droppable({
over:function(event, ui){
var target = $(event.target);
target.parent()
.find('.tray')
.addClass('open').droppable({
out:function(){
alert('leaving and will close all trays');
}
});
}
});
更新:可能很难理解我想要的东西。基本上我想要的只是黄色的盒子,看起来保持打开,直到用户徘徊在它上面。然后,当他们将鼠标悬停在黄色框中时,我希望它立即关闭(它没有这样做)。
问题是,当用户拖动并按住鼠标时,黄色框上的“输出”方法不起作用。但是在他们放手后它开始正常工作......
我正在尝试制作一个可排序的列表,其中包含在项目中间突出显示的部分。