Javascript 触发调整事件大小时出现了什么问题?
我尝试自动触发调整大小事件,我发现它不起作用。然后我做了如下测试:Javascript 触发调整事件大小时出现了什么问题?,javascript,jquery,Javascript,Jquery,我尝试自动触发调整大小事件,我发现它不起作用。然后我做了如下测试: <html> <head> <title></title> <script src="jquery-1.10.2.js"></script> </head> <body> <p>foo</p> <script typ
<html>
<head>
<title></title>
<script src="jquery-1.10.2.js"></script>
</head>
<body>
<p>foo</p>
<script type="text/javascript">
$(window).trigger('resize');
window.onresize = resize;
function resize() {
alert("resize event detected!");
}
</script>
</body>
</html>
这是因为你点的菜。在将
resize
函数指定给window.onresize
之前,您正在触发resize事件
只需将订单更改为:
window.onresize=调整大小;
$(window.trigger('resize');
函数resize(){
警报(“检测到调整事件大小!”);
}
在将其附加到窗口对象之前,您已经触发了调整大小。请尝试编写以下代码:
function resize() {
alert("Resize event detected!");
}
$(window).on("resize", resize)
.trigger('resize');
你为什么不试试这个:
$(window).on('resize',
function resize() {
alert("resize event detected!");
});
如果你只想触发,你必须把$(window.trigger('resize');在我之前发布的代码之后@James Donnelly已经为您的吊装问题提供了答案 但我想添加另一种使用代码的方法,因为您使用的是jQuery:
$(window).on('resize',resizefunc).resize();
function resizefunc() {
alert("resize event detected!");
}
请注意,我已将resize函数重命名为resizefunc,以避免jquery的resize方法出现混乱。由于本机事件是异步的,我们可以假设您的代码应该可以工作
但是,
.trigger
方法不会抛出本机事件,而是模拟它们。在大多数情况下,jQuery
同步调用函数,那么调用的顺序就很重要了(正如其他答案所建议的)同样的代码,我的最终目的是如何使$(窗口)。触发器('resize')代码>有效。@raghavendra无效。调整大小事件不是手动触发的<代码>$(窗口).trigger('resize')代码>在您的演示中不起任何作用。警报不会出现在沙盒中。在新的html页面中尝试它working@raghavendra这是因为$(window).trigger('resize')代码>没有做任何事情,这是OP的问题,请参阅我的答案(链接在上面的评论中),然后您将看到原因。为什么人们会给第一个工作答案-2@詹姆斯唐纳利:为什么它用小提琴演奏。Curious@TributetoAPJKalamSirOP的代码?没有。无论如何,在调整结果帧的大小之前。此时window.onresize=resize代码>已被调用。手动$(窗口).trigger('resize')调用问题中的code>,但不会触发resize()
函数。
$(window).on('resize',resizefunc).resize();
function resizefunc() {
alert("resize event detected!");
}