如何绑定' out'函数到动态生成的元素?

时间:2014-09-07 15:04:06

标签: jquery html5 css3 jquery-ui

我整天都被困在这一天。当它在动态生成的元素上离开(引发'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');
          }
    });

  }
});

更新:可能很难理解我想要的东西。基本上我想要的只是黄色的盒子,看起来保持打开,直到用户徘徊在它上面。然后,当他们将鼠标悬停在黄色框中时,我希望它立即关闭(它没有这样做)。

问题是,当用户拖动并按住鼠标时,黄色框上的“输出”方法不起作用。但是在他们放手后它开始正常工作......

我正在尝试制作一个可排序的列表,其中包含在项目中间突出显示的部分。

CSSBin

0 个答案:

没有答案