2016-04-14 31 views
0

devralan değil ben birbirinden içine yuvalanmış div bir şey var:jQuery işlevi ebeveyn

<div id="container_anatomy"> 
     <div id = "container_anatomy_painted"> 
      <div id="example"> Item1</div> 
      <div id="example"> Item2</div> 
      <div id="example"> Item3</div> 
     </div> 
</div> 

Ben sadece dış div yapmak istiyorum "anatomy_part" ve bu işlevle sürüklenebilir "container_anatomy_painted":

var clicked = false, 
    clickX; 
$('#container_anatomy_painted').on({ 
    'mousemove': function(e) { 
    clicked && updateScrollPos(e); 
    }, 
    'mousedown': function(e) { 
    clicked = true; 
    clickX = e.pageX; 
    clickY = e.pageY; 

    last_x = $('#container_wrapper_anatomy').scrollLeft(); 
    last_y = $('#container_wrapper_anatomy').scrollTop(); 
    event.preventDefault(); 
    }, 
}); 

Ama şimdi bile "örnek" -ememsler hareketlidir. Yuvalanmış div'lerin aynı jquery işlevini miras almamasının bir yolu var mı? Bu yüzden "container_anatomy_painted" numaralı telefondan sadece "mousemove"'u kullanabilirim.

+3

kullanabilirsiniz. JQuery UI gibi kitaplıklar ile gidin: https://jqueryui.com/draggable/ – Roy

+0

"anatomy_part"? bu bir şeye referans vermek mi demek? Orada da bir dizi tanımlanmamış değişken var. –

+0

Çoklu 'id =" example "' bu işaretlemeyi geçersiz kılar ve beklenmedik sonuçlar doğurur. https://www.w3.org/TR/html4/struct/global.html#h-7.5.2 ve https://www.w3.org/TR/WCAG20-TECHS/H93.html –

cevap

0

Sen çocuk div öğelerine bağlamak ve bu bağlama içinde size gelecekte kabuslar verecektir Bu işlevi kullanarak event.stopPropagation();