Spouštění událostí myši DOM programově z JavaScriptu

Je možné programově spouštět události myši v DOM? Můj ukázkový případ by byl následující:

<html>
  <body>
    <iframe style="width: 500px; height: 500px;" src="something.html"></iframe>
    <div id="layer" style="position: absolute; left: 0px; top=0px; width=500px; height=500px;"></div>
  </body>
</html>

Kdykoli uživatel klikne na div přes iframe , rád bych událost nějak propagoval do iframe , také. (Zde předpokládáme, že iframe src je ve stejné doméně.)

Odpověď

Zatímco můžete vkládat události do systémů pro zpracování událostí prohlížečů (ne zcela přenosnými způsoby), způsobí to pouze volání obslužných rutin událostí registrovaných u těchto událostí. Nezpůsobí výchozí akce, jako je sledování kliknutí na odkazy. Cílový prvek také nezískáváte ze souřadnic, takže to budete muset udělat sami.

Lepší sázkou by bylo prohrát zatemňující <div> a zaregistrujte click handler v dokumentu iframe, který pak informuje kód v nadřazeném prvku o umístění kliknutí.