2015-02-26 4 views
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 ... всегда неопределенными
Как я могу поймать координаты мыши во вновь созданной плавающем фрейме imedietly после создания?

... btw, mousemove Событие работает и записывает координаты, когда мышь перемещается по новому iFrame.
Мог ли я каким-то образом перемещать мышь всего за 1px, чтобы вызвать это событие?

ответ

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

}); 

может работать

+0

нет, мне нужно поймать его из iFrame ... не за его пределами. –

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... 
} 

консольных х и у, вы можете получить кооперативы ординаты мыши внутри фрейма.

+0

Я получаю эту ошибку: «Uncaught SecurityError: заблокирован фрейм с источником» chrome-extension: // xxxx ...... »от доступа к кадру с источником« http://stackoverflow.com ». запрос доступа имеет протокол «chrome-extension», доступ к кадру имеет протокол «http». Протоколы должны совпадать ». –

Смежные вопросы