jQuery Draggable Stop:用于stopPropagation元素的函数

时间:2013-05-22 00:26:45

标签: javascript jquery jquery-ui jquery-ui-draggable

我试图得到它,因为当draggable元素已经停止了我指定stopPropagation的两个元素。我到目前为止的代码,没有错误,但没有工作。

 $( "#pop_up" ).draggable({ 
        handle: "#pop_header",
        containment: "parent", 
        stop:function(e) {
             if ($(e.target).attr('id') === "submit") {
               e.stopPropagation();
                return false;
            } 
          else if ($(e.target).attr('id') === "close")
           {
          e.stopPropagation();
           return false;
          }
      }
 });

基本HTML模型 -

<div id="pop_up">
  <div id="pop_header">
    <span class="button" id="submit"></span>
    <span class="button" id="close"></span>
  </div>
     <div id="pop_body">

   </div>
</div>

任何想法如何使这些元素成为可点击的,现在它们不像我告诉我的jQuery那样可以点击.-

$('.button #close').click(function() {
  $('#pop_up').hide();
 });
 $('.button #submit').click(function() {
      var miniVis = $('#minimize_wrapper').css('display');
  if(miniVis ==="block"){
       $('#minimize_wrapper').slideUp();
   } else {
      $('#minimize_wrapper').slideDown();
   }
  });

1 个答案:

答案 0 :(得分:0)

好的,我要做的就是将第一个draggable代码更改为 -

$( "#pop_up" ).draggable({ 
    handle: "#pop_header",
    containment: "parent", 
    stop:function(e) {
         if ($(e.target).attr('id') === "parent-of-buttons") {
           e.stopPropagation();
            return false;
        } 
    }
});

然后我将第二个代码更改为 -

$('#parent-of-buttons').on('click','#close',function(){
  $('#pop_up').hide();
 });
$('#parent-of-buttons').on('click','#submit',function(){
     var miniVis = $('#minimize_wrapper').css('display');
 if(miniVis ==="block"){
   $('#minimize_wrapper').slideUp();
  } else {
   $('#minimize_wrapper').slideDown();
  }
});

希望这会帮助其他人尝试这样做。你不能停止按钮本身的传播,但你可以停止那个父元素的传播。