trigger onresize in cross browser compatible manne

2019-02-20 18:54发布

问题:

I would like to trigger the onresize event from my C# code behind. I think this can be done with

Page.clientScript.RegisterScriptBlock(this.getType(), "id", "javascript code");

I have tried element.onresize() but it doesnt seem to work in firefox. What is the correct way to trigger an onresize event similar to the following jQuery?

$("body").trigger("resize");

Using jQuery itself isn't an option.

回答1:

This should do the trick, DOM Level 2, no idea whether this works in IE6, quirks mode still has no information on this stuff:

if (document.createEvent) {
    var e = document.createEvent('HTMLEvents');
    e.initEvent('resize', true, false);
    document.body.dispatchEvent(e);

} else if (document.createEventObject) {
    document.body.fireEvent('onresize');
}

Tested in FF, Chrome and Opera.



回答2:

use this $(window).resize(); (tested in FF, chrome, IE8)

// old answer, fails in FF document.body.onresize()