В документации document.elementFromPoint говорится:Почему document.elementFromPoint не находит самый верхний элемент?
Возвращает элемент из документа, чей elementFromPoint метод вызываются, который является самым верхним элементом, который лежит под данной точки.
Но я не вижу такого поведения. Вместо этого он, кажется, выбирает самый нижний элемент. На самом деле это поведение, которое я хочу, но я обеспокоен тем, почему он не соответствует документации, и я хочу понять, почему во избежание возможных будущих ошибок.
Я создал a fiddle to demonstrate this. Если вы нажмете на полужирный, но неитальянный текст, он вернет B
, а не P
. Если вы нажмете полужирный и курсивный текст, он вернет I
не P
. Разве абзац не является самым верхним элементом, который содержит все эти объекты, или мое определение «самый верхний» отличается от спецификации?
Я пробовал это как на Firefox, так и на Chrome и получал одинаковый результат в каждом.
Будьте очень осторожны с этим объектом, потому что он реализован по-разному в разных браузерах. Некоторые браузеры возвращают позицию x, y на основе окна, а некоторые - на видовом экране. См. Http://www.zehnet.de/2010/11/19/document-elementfrompoint-a-jquery-solution/ для хорошего объяснения. – Michael
@ Майкл Нет, я не правильно прочитал вопрос (или было редактирование). И теперь я не вижу, как OP может думать, что он не должен возвращать 'I' ... Если я следую очевидным соображениям, он всегда должен возвращать элемент документа ... –
@Michael спасибо, я сейчас смотрю на это. – Michael