我尝试自动触发调整大小事件,我看它不起作用。然后我做了如下测试:
<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>
我没有看到任何警报(这意味着我无法触发Windows resize事件)。 为什么下面的代码行不起作用?
$(window).trigger('resize');
答案 0 :(得分:1)
这是因为你的订购。您在将window.onresize
功能分配给window.onresize = resize;
$(window).trigger('resize');
function resize() {
alert("resize event detected!");
}
之前触发了调整大小事件。
只需将订购更改为:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;
ParseUser parseUser = ParseUser.getCurrentUser();
parseUser.put("columnName", username);
parseUser.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
// TODO Auto-generated method stub
if (e != null){
e.printStackTrace();
}else{
//updated successfully
}
}
});
&#13;
答案 1 :(得分:1)
@James Donnelly为您的提升问题提供了答案。
但是我想添加另一种方法来使用代码,因为你正在使用jQuery:
$(window).on('resize',resizefunc).resize();
function resizefunc() {
alert("resize event detected!");
}
请注意,我已将resize函数重命名为resizefunc,以避免混淆jquery的resize方法。
答案 2 :(得分:0)
您在将function resize() {
alert("Resize event detected!");
}
$(window).on("resize", resize)
.trigger('resize');
附加到窗口对象之前触发了它。请尝试编写以下代码:
{{1}}
答案 3 :(得分:0)
你为什么不试试这个:
$(window).on('resize',
function resize() {
alert("resize event detected!");
});
如果你只想触发你必须放$(window).trigger('resize');在我之前发布的代码之后
答案 4 :(得分:0)
由于本机事件是异步的,我们可以假设您的代码应该有效。
但是.trigger
方法不会抛出本机事件,但会模拟它们。在大多数情况下,jQuery
会同步调用该函数,然后您的调用顺序很重要(如其他答案所示)