[英]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.