有没有办法可以在javascript / jQuery中为我的窗口触发onresize()事件?
我试过了:
$(window).resize();
但这似乎并不像预期的那样完全奏效。 simplemodal jQuery插件为您提供autoPosition
模态窗口的选项。有时在IE中,模态显示偏离中心但是一旦我手动改变窗口大小,它就会完美地居中。所以我想只触发onresize事件,这样就会自动将autoPosition
的simplemodal设置为true
。
好吧,我认为我的问题的一部分是我试图使模态动态的高度,如果内容会通过显示或隐藏元素在模态中改变,那么大小也是如此。
继承我的模态电话:
$(selector).modal({
//autoPosition: true,
//autoResize: true,
onShow: function(dlg) {
$(dlg.container).css('height', 'auto') // dynamic height based on content
},
onOpen: function(dialog) {
dialog.overlay.fadeIn('slow', function() {
dialog.data.hide();
dialog.container.fadeIn('slow', function() {
dialog.data.slideDown('slow');
});
});
},
onClose: function(dialog) {
dialog.data.fadeOut('slow', function() {
dialog.container.hide('slow', function() {
dialog.overlay.slideUp('slow', function() {
$.modal.close();
});
});
});
}
});
如果我注释掉onShow属性,那么事情就会再次发挥作用。所以我想也许这是问题的一部分。有没有办法根据内容动态调整模式的大小,这不会产生这个问题?
使用simplemodal-1.3.4
答案 0 :(得分:2)
您的方法应该有效,但可能无法触发您想要的simplemodal事件,例如:
$(window).resize(function() {
alert("resized");
});
$(window).resize(); //alerts "resized"
针对您的特定问题的解决方案可能是:
$(window).trigger('resize.simplemodal');
答案 1 :(得分:0)
据我所知,你应该使用
$(window).resize(function() {
// your code
});
不适合你吗?你到底在想什么?