Nik*_*rez 11 jquery events dojo
在jQuery中,您可以这样做:
$('#myElement').trigger('change');
Run Code Online (Sandbox Code Playgroud)
我如何在Dojo中做到这一点?
Ste*_*sky 37
dojo on.emit方法(1.7+)可用于触发dom节点上的事件.从文档页面:
require(["dojo/on"], function(on){
// register event handler
on(target, "mouseup", function(e){
// handle event
});
// Send event
on.emit(target, "mouseup", {
bubbles: true,
cancelable: true
});
});
Run Code Online (Sandbox Code Playgroud)
我不认为Dojo具有类似的功能,至少在我知道/可以找到的情况下并不如此.但您可以使用以下代码来复制此功能:
dojo.addOnLoad(function() {
var button = dojo.byId("myButton");
dojo.connect(button, "onclick", function() { alert("Clicked!"); });
// IE does things differently
if (dojo.isIE)
{
button.fireEvent("onclick");
}
else
{ // Not IE
var event = document.createEvent("HTMLEvents");
event.initEvent("click", false, true);
console.debug(event);
button.dispatchEvent(event);
}
});
Run Code Online (Sandbox Code Playgroud)
更确切一点,但是你可以使用它创建自己的dojo版本的trigger().