window.addEventListener("resize", _handleResize, false); function _handleResize() { // ... }
でリサイズイベントを張って、
window.dispatchEvent(new Event("resize"));
と、初期化のタイミングでイベントを発火させていたのですが、
IE9、IE10ではfireEventをつかわなければなりません。
Can I use... Support tables for HTML5, CSS3, etc
もろもろ考えた結果、
$(window).trigger("resize");
と、jQueryでtriggerすればブラウザの際を吸収できると思ったのですが、addEventListenerしたイベントはtriggerできませんでした。
以下に検証結果をまとめます。
検証結果
発火しない
window.addEventListener("resize", _handleResize, false); $(window).trigger("resize");
発火する
window.onresize = function() { //... }; $(window).trigger("resize");
発火しない
window.addEventListener("click", _handleClick, false); $(window).trigger("click");
発火する
document.body.addEventListener("click", _handleClick, false); $(document.body).trigger("click");
発火する
window.addEventListener("click", _handleClick, false); $(document.body).trigger("click");
https://twitter.com/ki_230/status/651331561338441729
ツイッターやってます!