使用dojo/javascript触发click事件?
我一直在使用javascript并做了类似的事情使用dojo/javascript触发click事件?,javascript,dojo,Javascript,Dojo,我一直在使用javascript并做了类似的事情 var div = document.getElementById("bob"); div.addEventListener("click", function(){alert('foo');}); // all tests fail //div.click(); //div.onclick(); //div.onClick(); var div2 = document.getElementById("adam
var div = document.getElementById("bob");
div.addEventListener("click", function(){alert('foo');});
// all tests fail
//div.click();
//div.onclick();
//div.onClick();
var div2 = document.getElementById("adam");
// works
//div2.onclick();
var div3 = document.getElementById("iris");
div3.onclick = function(){alert('wat');};
// works
//div3.onclick();
//How do I trigger the div (the first div, "bob") "click" event?
代码在这里:,
取消对测试用例的注释
那么,如何使用dojo或纯javascript通过addEventListener(例如div“bob”)触发点击事件设置呢
另外,我是否应该从现在起放弃使用addEventListener,而仅仅使用element.onclick=function(){},因为我遇到了这个问题?addEventListener的优点是什么?试试这个:
div.dispatchEvent("click");
此处的文档:
您是否有理由通过模拟单击来调用函数,而不是直接调用函数
var fnDoWork = function() {
alert('do work');
}
var div = document.getElementById("bob");
dojo.connect(div, "onclick", fnDoWork);
// some other code
fnDoWork();
你所失去的,是没有给你鼠标点击坐标的事件。大多数情况下,这应该不是什么大问题。我只在使用SVG时才需要它们。document.getElementById(“iris”).click()?在IEI中说得太早了……这种方法只适用于自定义事件,并且必须传入
事件,而不是事件名称。