После недолгого размышления я придумал очень хакерскую стратегию для этого. Я включил это для академического любопытства, но я не рекомендовал бы внедрять его на производственной площадке.
В псевдокоде:
onPolygonMouseover:
setTimeout(0 ms)
onTimeout:
Find all elements in the dom with cursor == pointer
Set pointer to crosshair
jQuery может быть полезен для поиска всех элементов с указателем курсора ==. В качестве альтернативы вы можете просто перебрать весь DOM.
Почему тайм-аут?
Время ожидания истекло, потому что я не уверен, в каком порядке API предоставляет события. Если ваше событие обрабатывается до внутренних событий API, ваш курсор может быть перезаписан внутренним кодом.
Почему тайм-аут 0?
Тайм-аут 0 помещает код в стек выполнения JS. Это будет выполнено в следующий раз, когда произойдет «разрыв» в выполнении кода. Это должно быть после того, как весь код обработки события завершится.