2016-07-31 127 views
0

我有我的父母DIV獲取鼠標單擊位置,在該位置

<div class="parent"> 
    <div class="child"></div> 
</div> 

內一個div實例化一個div和CSS是

.parent{  
width: calc(100% - 299px); 
height: calc(100% - 78px); 
display: inline-block; 
overflow: scroll; 
.child { 
    width:1500px; 
    height: 2500px; 
    background-color: rgba(0,0,0,0); 
} 
} 

當我點擊鼠標子元素我想獲得鼠標位置的子元素所以最小是0-0最大是1500-2500 然後當我點擊我想創建一個div在該點擊的位置我怎麼能做到這一點? // jQuery是首選

回答

0

要獲得座標,你可以嘗試:

$('.child').click(function(e) { 
    alert(e.pageX+ ' , ' + e.pageY); 
}); 
0

元素中的鼠標位置是事件的OFFSETX和OFFSETY(Y在頂部最高最低,並在底部屏幕)。新元素的位置還需要考慮父元素的位置,因此它的左上角座標被添加(請參見fiddle):

$(".child").on("click", function(event) { 
    alert("Mouse position within child div: X: " + event.offsetX + 
    ", Y:" + event.offsetY); 
    var offX = $(this).css("left"); 
    var offY = $(this).css("top"); 
    var styles = { 
    left : event.offsetX + parseInt(offX) + "px", 
    top: event.offsetY + parseInt(offY) + "px" 
    }; 
    $(this).append("div").addClass("grandchild").css(styles); 
});