Seems simple enough, using the Dojo toolkit click a div and trigger an anchor tag on the page.
The code in listing 1 below works on:
Chrome version 35
Internet Explorer 11
Won’t work on FireFox ver 30.
Dojo’s dojo/on module has the emit() method that provides a normalized way to dispatch events. It is supposed to be cross-browser.
From the info on this page, Disabling native events when using Firefox with WebDriver, it sounds like Dojo may, like WebDriver, be using FireFox’s native event facilities and failing.
<!DOCTYPE html> <html > <head> <script>dojoConfig = {async: true, parseOnLoad: false}</script> <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.10.0/dojo/dojo.js"></script> <style media="screen" type="text/css"> .bold {font-weight: bold;} .box {border:1px black solid;margin-top:4em;margin-left:8em;} </style> <script> require(['dojo/ready','dojo/on','dojo/dom', 'dojo/query','dojo/domReady'], function(ready,on,dom,query){ ready(function(){ var nde = query('#div123'); nde.on("click",function(evt){ on.emit(dom.byId('target'),"click", {bubbles:false,cancelable:false}); }); }); }); </script> </head> <body class="claro"> <div id="div123" class="bold box">click me!</div> <div class="box"> <a id="target" href="javascript:alert('hello')">will trigger this link</a> </div> </body> </html>
Listing 1
Hi, did you find a solution for this? I happened to run into the same problem on FF version 27.
I searched for solution, nothing found. Tried many things, but could not get that to work. Now I don’t remember what I did to avoid not using it. I should have posted the issue on the Dojo forums I guess.