gpt4 book ai didi

javascript - 从 jquery post 返回后,html 脚本将无法工作

转载 作者:太空宇宙 更新时间:2023-11-04 15:39:34 25 4
gpt4 key购买 nike

我有简单的 html 代码 (index.php),它调用 jquery post (function.php)。这将返回 HTML 脚本的值。然而,如果由 Jquery post 返回,这个 HTML 脚本似乎不再适用于 javascript。 我只是希望这个 HTML 脚本能够发出警报(抱歉是英文)。

//index.php 
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
</head>
<body>
<div id="output">Display output</div>
<div id="returnedpost"></div>


<script>
$(document).ready(function() {
$('#output').click(function() {
$.ajax({ url: 'function.php',
data: {action: ''
},
type: 'POST',
dataType: "html",
success: function(output) {
$("#returnedpost").html(output);
}
}); //end of ajax

}); //end of output click

$("#alert").click(function(){
alert('this is an alert');
});
}); //document.ready

</script>
</body>

//function.php
<?php
echo '<div id="alert">click me to alert</div>';
?>

正如你所看到的,点击“显示输出”文本后,它会返回一个“click me to Alert”的HTML文本。我只是希望这个返回值在被单击时发出消息“这是一个警报”。

`

最佳答案

当您设置监听器时,还没有#alert。您必须等到数据加载后才能设置点击监听器。

$('#output').click(function() {  
const showPost = html => { //using es6 syntax
document.getElementById('returnedpost').innerHTML = html;
//#alert is created and now you can set listener
document.getElementById('alert').addEventListener('click', () => {
alert('this is an alert');
});
};
$.ajax({ url: 'function.php',
data: {action: ''},
type: 'POST',
dataType: "html",
success: showPost
});
});

关于javascript - 从 jquery post 返回后,html 脚本将无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44010192/

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