0

我正在创建 iFrame 并且在该 iFrame 脚本中我需要在创建后捕获鼠标坐标(一开始)。我希望自定义事件可以实现。

我试过了

var myEvent = new Event('mouseC');

document.addEventListener('mouseC', function(e){
    console.log('my event is working');
    console.log('mouse x is '+e.pageX);
    console.log('mouse y is '+e.pageY);
});

document.dispatchEvent(myEvent);

控制台显示“我的事件正在运行”,但鼠标坐标未定义
我尝试将其包装在 中window.onload,并且我也尝试过screenX并且clientX...始终未定义
如何在创建后立即在新创建的 iFrame 中捕获鼠标坐标?

...顺便说一句,mousemove当鼠标移到新的 iFrame 上时,事件正在工作并写入坐标。
我可以以某种方式将鼠标移动 1px 来触发该事件吗?

4

2 回答 2

0
 iframElement = document.getElementBy...("...");
 document.addEventListener("click", function(evt,iframElement){

 var x = evt.pageX - iframElement.offset.left;
 var y = evt.pageY - iframElement.offset.top;

 console.log(x+" , "+y);

});

它可能有效

于 2015-02-26T11:40:19.063 回答
0
var value =parent.frames[FRAME_NAME].frameElement.offsetParent;
var x = 0, y = 0;
while (value)
{
x += value .offsetLeft;
y += value .offsetTop;
value = value .offsetParent;
//console x anf y...
}

控制台 x 和 y 你可以在 iframe 中获取鼠标的坐标。

于 2015-02-26T12:15:36.813 回答