2010-05-25 2 views
2

я используюdocument.elementFromPoint (x, y); не работает

document.elementFromPoint(x,y); 

функцию, чтобы выяснить, основной элемент на мыши. Он отлично работает, когда я открываю соответствующий html-файл с помощью firefox. Но я написал приложение, использующее gtkmozembed для открытия html-файлов. Когда я открыть HTML-файл с моим приложением и нажал на странице он дает следующее сообщение об ошибке:

TypeError: document.elementFromPoint is not a function 

Почему это так? На самом деле все функции, которые работают для firefox, также работают с gtkmozembed правильно? (Так как оба Firefox и gtkmozembed используют внутренний движок gecko)

ответ

2

Это правда, что Firefox и gtkmozembed используют движок рендеринга Gecko, но версии двигателей, которые вы пытаетесь использовать код может быть другим, так что функция может быть или может быть недоступна.

Стоит отметить, что вряд ли стоит использовать эту функцию в реальности - вы можете подойти к проблеме с другой стороны - проверьте свойство event.target, чтобы узнать, откуда произошло событие мыши.

BTW: document.elementFromPoint - еще один пример прекрасной, но проприетарной технологии, созданной в Internet Explorer. Как и многие другие хорошие функции, он был поднят только недавно и реализован многими поставщиками, включая Mozilla.

+0

Да, event.target выполняет мои требования. Большое спасибо – ganapati

+0

'event.target' отлично подходит для реагирования на действия пользователя. 'elementFromPoint()' может использоваться для поиска элемента (по положению) программно, я думаю, для этого и есть. – npup

+0

@npup Вы правы, никто не сказал иначе. Кстати, можете ли вы описать пару практических случаев использования? –

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