2016-03-03 11 views
7

मैंने document पर माउस ईवेंट को ट्रैक करने के लिए एक फ़ंक्शन सेट किया है, भले ही मुझे केवल माउस को फिर से आकार के पहचान के उद्देश्य पर- इस बिंदु पर कम से कम ...माउस के नीचे जाओ - वर्तमान डीओएम तत्व obj [जबकि घटना-आकार बदलें] jQuery-ui

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

ui

sidenote पर : उद्देश्य माउस के तहत हर तत्व का डेटा प्राप्त करने तो यह एक नया (div) हिस्सा जो विजेता बच के रूप में बदल सकता है

// 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 
}); 

जबकि इतने पर यहाँ पूछ, निकटतम पोस्ट मैं पाया है This^

क्या आकार घटना पर डेटा एकत्रित करने के लिए उचित तरीका है?

+1

मैं 'आकार बदलें' ईवेंट का उपयोग करूंगा: आकार बदलें: फ़ंक्शन (ई, ui) {var x = e.clientX; var y = e.clientY; } ' – Twisty

+0

@Twisty आपके सुझाव के लिए धन्यवाद, मैं इसे आज़मा दूंगा .. – LoneXcoder

उत्तर

0

जावास्क्रिप्ट में आप कर सकते हैं:

document.elementFromPoint(x, y);

जहां x और y माउस स्थिति हो जाएगा (मुझे लगता है आपको लगता है कि सूचक अपने आप को स्थिति प्राप्त कर सकते हैं)

वहां से आप डेटा प्राप्त कर सकते हैं आपको जिस तत्व की आवश्यकता है उसे बंद करें।

संबंधित मुद्दे