Nikki Erwin Ramirez Nikki Erwin Ramirez - 3 months ago 20
jQuery Question

Does Dojo have an equivalent to jQuery.trigger()?

In jQuery, you can do this:

$('#myElement').trigger('change');


How do I do that in Dojo?

Answer

I don't think Dojo has similar functionality, at least as not as far as I know / can find. But you can use code like the following to replicate this functionality:

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);
    }
});

A little more verbose, for sure, but you would be able to create your own Dojo version of trigger() with it.

Try it out

Comments