gpt4 book ai didi

javascript - jquery ajax,如何在句柄页面中调用onload事件?

转载 作者:行者123 更新时间:2023-11-30 09:04:45 24 4
gpt4 key购买 nike

我尝试通过 jquery ajax 将页面 a 的值发布到页面 b。但是当我需要处理页面中的 onload 事件时。我尝试了两种方法,但都失败了。如何正确调用还是bug?

a.php

<script type="text/javascript" src="jquery-1.6.1.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
$("a").click(function(){
$.ajax({
url: "b.php",
dataType: "html",
type: 'POST',
data: "word="+"hello",
success: function(data){
$("#show").html(data);
}
});
});
});
</script>
<a href="#">click</a>
<div id="show"></div>

b.php

<script language="JavaScript">
function callhello() {
alert('<?php echo $_POST['word']; ?>');
//many other code, for a test, I moved them. and replace a alert call.
}
</script>
<body onload="JavaScript:callhello()"><!-- way 1, put onload here, not run -->
Blah~~ Blah~~ Blah~~
<script language="JavaScript">// change to text/javascript or even remove, no effect
window.onload = function() {
callhello();
};
</script><!-- way 2, put onload here, still not run. -->
</body>

最佳答案

当您将 HTML 插入到您的文档中时,所有脚本都会在文档的上下文中执行。这意味着 window.onload 引用当前 windowload 事件。鉴于插入被延迟(通过等待 click 事件),window.onload 事件已经被触发。您可以将函数附加到 load 事件,但它永远不会被触发。

最好将函数调用直接放入您的 script 元素中:

<script type="text/javascript"> // the language attribute is deprecated
callhello();
</script>

这意味着 jQuery 将在脚本添加到文档时执行它。

关于javascript - jquery ajax,如何在句柄页面中调用onload事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6037217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com