鼠标坐标的自定义事件

时间:2015-02-26 11:18:14

标签: javascript iframe mouseevent custom-events

我正在创建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中,我也尝试了screenXclientX ...总是未定义的 如何在创建后imedrame中捕获新创建的iFrame中的鼠标坐标?

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

2 个答案:

答案 0 :(得分: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);

});

它可能有效

答案 1 :(得分: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中获得鼠标的坐标。