简体   繁体   English

为什么在这个... div画面的左上角有方形聚会

[英]why there are square gathering at top left corner in this…div painting

I can't figure out why...what am i doing wrong. 我无法弄清楚为什么......我做错了什么。

For some reasons elements with 0,0 are being created at top. 由于某些原因,在顶部创建了具有0,0的元素。

http://jsfiddle.net/6UamQ/ http://jsfiddle.net/6UamQ/

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);
});

The problem is that once you've added the div 's to main , you may get mousemove events from those child elements as well. 问题是,一旦你将div添加到main ,你也可以从这些子元素中获取mousemove事件。 Try filtering out those child events like this: 尝试过滤掉这样的子事件:

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);
    }
});

Demonstration 示范

It will work if you replace offsetY and offsetX with pageY and pageX. 如果用pageY和pageX替换offsetY和offsetX,它将起作用。 http://jsfiddle.net/6UamQ/4/ 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM