在页面中,如果嵌入了iframe框,mousemove事件在这个区域是不会激发的。必须使用iframe里能取到的位置信息进行定位。而iframe里如果是嵌入页面的相对位置,则没有用。和父页面关联起来的是screeX/Y。在iframe和父页面取到的值是相同的.因此可以使用这个参数,计算和pageX/Y的差值,就可以计算出当前鼠标所在的位置了。
代码如下:
var mouseX = 0; 鼠标位置X
var mouseY = 0; 鼠标位置Y
var offX = 0;
var offY = 0;
$(document).mousemove(function(e){
mouseX = e.pageX;
mouseY = e.pageY;
offX = e.screenX - e.pageX;
offY = e.screenY - e.pageY;
});
//给iframe框加入鼠标移动事件
$('iframe').each(function() {
$(this.contentWindow.document.body).mousemove(function(e) {
mouseX = e.screenX - offX;
mouseY = e.screenY - offY;
});
});