2016-03-03 7 views
7

Yalnızca fare fare olaylarını izlemek için bir işlev ayarladım, özellikle yalnızca yeniden boyutlandırma algılama amacıyla fare için gerekir amaç o fetheden atlattı yeni (div) parçası haline dönüştürmek böylece fare altındaki her elemanın verileri elde etmektir:Fare altında geçerli DOM öğesi obj [while olayı yeniden boyutlandır] jQuery-ui

Sidenote ui üzerinde

var BoolMouseDown = false; 
var BoolResizing = false; 
document.body.onmousedown = function() { 
    BoolMouseDown = true; 
}; 
document.body.onmouseup = function() { 
    BoolMouseDown = false; 
}; 

... Bu noktada en az

SO burada sorarken
// called function on resiz event 

var ValueCurSourceCellId = ""; 
var ValueCurDestCellId = ""; 
function CurCellIdSet(val) { 
    if (BoolMouseDown) { 
     ValueCurDestCellId = val; 
     BoolMouseDown = false; 
    } 
    else { 
     if (BoolResizing) { 
      ValueCurDestCellId = val; 
     } 
     ValueCurSourceCellId = val; 
    } 
} 


var BoolHasCollided = false; 
$(gitem11) 
.mouseover(function() { 
    //cur mouse over = attribute of html-imput-hidden(curMoRszr="") 
    if (BoolMouseDown) return;//so if its Mouse Down - don't collect underlying element data 

    $elmHidData1.attr('curMoRszr', $(this).attr('id')); 
    CurCellIdSet($(this).attr('id')); 
}) 
.mousedown(function() { 
    BoolMouseDown = true; 
    $elmHidData1.attr('curMoRszr', $(this).attr('id')); 
    CurCellIdSet($(this).attr('id')); 
}) 
.mouseup(function() { 
    BoolMouseDown = false; 
    CurCellIdSet($(this).attr('id')); 
}) 
.resizable({ 

    handles: "e, s", ghost: true, 
    start: 
     // here 11 is the accident producer, 21 is the victim. 
     function() { 
      console.log("resize started"); 
      curg21initialpositionTop = $curg21.offset().top; 
      curg11initialpositionTop = $curg11.offset().top; 
      curg11initialHeight = $curg11.css("height").substring(0, 2); 
    }, 

    resize: 

     function (event, ui) { 

      var data1id = $elmHidData1.attr('curMoRszr'); 
      if (ui.size.height + curg11initialpositionTop > curg21initialpositionTop && ui.size.height + curg11initialpositionTop < curg21initialpositionTop + 50 + gap) 
      { 
       setRszble($curg11, $curg21); 
       BoolHasCollided = true; 
      } 

      $(gitem31).text("p: " + ui.size.height + "curg21initialuiposition:" + curg21initialuiposition + ", " + ui.position.top); 
     }, 
     stop: 
     // function to conclude the accident, give the new partial div a position and size 
}); 

i bulduk yakın sonrası

boyutlandırma Olay üzerine veri toplamak için uygun yolu nedir This^ nedir?

+1

"resize" olayını kullanıyorum: resize: function (e, ui) {var x = e.clientX; var y = e.clientY; } ' – Twisty

+0

@Twisty Öneriniz için teşekkürler, bunu deneyeceğim .. – LoneXcoder

cevap

0

JavaScript size yapabilirsiniz:

document.elementFromPoint(x, y);

x ve y fare konumunu nerede olacak verileri alabilirsiniz Oradan

(Bunu işaretçi konumunu kendiniz alabilirsiniz varsayıyorum) İhtiyacınız olan elemanın dışında.

İlgili konular