2016-03-03 16 views
7

マウスイベントを追跡する機能がdocumentに設定されています。ただし、再サイズ検出のためのマウスは、特に です。 UIマウスの現在のDOM要素obj [イベントリサイズ中] jQuery-ui

追記上の

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

...この時点で少なくとも:目的は、それは征服者を生き延び新しい(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 
}); 

SOにここで尋ねながら、私が発見した最も近いポストはThis^

リサイズイベントに関するデータを収集するための適切な方法は何ですか?ですか

+1

私は 'resize'イベントを使用します:resize:function(e、ui){var x = e.clientX; var y = e.clientY; } ' – Twisty

+0

@あなたの提案に感謝して、私はそれを試してみましょう.. – LoneXcoder

答えて

0
あなたが行うことができますJavaScriptで

:あなたがデータを取得することができ、xとyは、そこからマウスの位置(私はあなたがそのポインタの位置を自分で得ることができると仮定)

なります

document.elementFromPoint(x, y);

あなたが必要とする要素をオフにします。

関連する問題