2016-04-22 63 views

回答

1

elementFromPoint應該工作。但是像這樣使用它的一個問題是,助手總是成爲鼠標下的元素。你可以做的就是隱藏幫助器,然後得到elementFromPoint,然後再顯示它。它應該在大多數情況下工作,除非你有許多重疊的元素。像這樣的例子:

$('#resize').resizable({ 
 
    resize: function(event, ui) { 
 
    $('.over').removeClass('over') 
 
    ui.helper.hide(); 
 
    $(document.elementFromPoint(event.pageX, event.pageY)).addClass('over'); 
 
    ui.helper.show(); 
 
    } 
 
})
.other { 
 
    float: left; 
 
    width: 100px; 
 
    height: 100px; 
 
    border: solid 1px lightgray; 
 
} 
 
#resize { 
 
    border: solid 1px black; 
 
    width: 50px; 
 
    height: 50px; 
 
    position: absolute; 
 
} 
 
div.over { 
 
    background-color: lightgreen; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script type="text/javascript" src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> 
 

 
<link rel="stylesheet" type="text/css" href="//code.jquery.com/ui/1.11.4/themes/ui-lightness/jquery-ui.css"> 
 

 
<div id="resize"></div> 
 

 
<div class="other"></div> 
 
<div class="other"></div> 
 
<div class="other"></div> 
 
<div class="other"></div> 
 
<div class="other"></div> 
 
<div class="other"></div> 
 
<div class="other"></div> 
 
<div class="other"></div> 
 
<div class="other"></div> 
 
<div class="other"></div> 
 
<div class="other"></div>

+0

我已經找到了我的情況下,另一種解決方案,但你的作品,以及。我標記你的答案。謝謝! – Alex

0

您可以嘗試使用droppable,即將您感興趣的元素設置爲droppable。

+0

我不知道怎樣才能做到這一點? – Alex

相關問題