trigger onresize in cross browser compatible manne

2019-02-20 19:11发布

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.

2条回答
Ridiculous、
2楼-- · 2019-02-20 19:23

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.

查看更多
叼着烟拽天下
3楼-- · 2019-02-20 19:24

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

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

查看更多
登录 后发表回答