[英]why there are square gathering at top left corner in this…div painting
我無法弄清楚為什么......我做錯了什么。
由於某些原因,在頂部創建了具有0,0的元素。
var m = $('.main'), div = $(document.createElement('div')), d;
m.on('mousemove',function(e){
d = div.clone();
d.addClass('paint');
d.css({top:e.offsetY,left:e.offsetX});
m.append(d);
});
問題是,一旦你將div
添加到main
,你也可以從這些子元素中獲取mousemove
事件。 嘗試過濾掉這樣的子事件:
m.on('mousemove',function(e){
if( e.target === this ) {
d = div.clone();
d.addClass('paint');
d.css({top:e.offsetY,left:e.offsetX});
m.append(d);
}
});
如果用pageY和pageX替換offsetY和offsetX,它將起作用。 http://jsfiddle.net/6UamQ/4/
var m = $('.main'), div = $(document.createElement('div')), d;
m.on('mousemove',function(e){
d = div.clone();
d.addClass('paint');
d.css({top:e.pageY,left:e.pageX});
m.append(d);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.