1

我试图得到它,所以当可拖动元素停止我分配 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();
   }
  });
4

1 回答 1

0

好的,所以我要做的就是将可拖动的第一个代码更改为此-

$( "#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();
  }
});

好吧,希望这会帮助其他尝试这样做的人。您无法停止按钮本身的传播,但您可以停止该父元素的传播。

于 2013-05-22T00:31:40.787 回答