Получить позицию курсора при onBlur
Отслеживаю клик по iframe с помощью такой небольшой хитрости:
frame.addEventListener('load', function() { window.addEventListener('blur', function(event) { if(document.activeElement === frame) { console.log(event.pageX) //undefined } }); }); Но вот не могу придумать способ, как можно отследить позицию курсора. OnMouseMove не предлагать, так как на Iframe он не распространяется. Может у кого-нибудь есть идеи, какие хитрости можно тут применить? Есть идея периодически ставить на iframe какой-нибудь div, и чекать у него mousemove, но тут много других минусов всплывает, например: 1. Есть вероятность, что именно в момент клика этот div подставится под курсор, и соответственно - клика по iframe, как такого, не произойдёт; 2. Координаты будут неточными. Заранее спасибо за любые идеи и предложения! :thanks: |
Цитата:
вот набросок. https://jsfiddle.net/pcxrxfqo/ "шпион" присутствует 10% времени. Слежение не совсем точное, но тем не менее. Кликнуть по шпиону не так просто. Да и если произойдет, то пользователь не расстроится и просто кликнет ещё раз. а так, понятное дело, следить нельзя, "песочница" и всё такое, браузер умышленно защищает. |
Alexandroppolus, придумал похожее решение как у Вас, работает на 90%. :) Кому интересно - в ЛС.
Я просто хочу, чтобы когда кликаешь по iframe, то он убирался и определялась позиция клика, по которой получаем элемент на странице c помощью document.elementFromPoint и имитируем по нему клик. Итог: пользователь кликает одновременно и в айфрейм и в реальный элемент. P.S.: iframe невидимый. P.P.S.: жалко, что не мобильных устройствах эти хитрости с событиями мыши провернуть не получится. |
Часовой пояс GMT +3, время: 14:54. |