今天在使用JQuery库中的$ .ajax方法并从基于PHP的页面加载数据时,我发现在尝试附加某些事件时遇到了问题。
我有一个像这样的HTML文档:
<html>
<script src="/public_html/assets/js/jquery/jquery-3.2.1.min.js"></script>
.container {
display: block;
width: 500px;
height: 500px;
background: red;
}
<!-- Here goes the container -->
<div class='wrapper'></div>
<script>
$(document).ready(function() {
$(".container").on("contextmenu", function (event) {
event.preventDefault();
alert("It works.");
});
$.post("example.php", function(result) {
$(".wrapper").html(result);
});
});
</script>
在页面末尾的位置有对该PHP文件的Ajax请求:
echo "<div class='container'>";echo "</div>";
当请求结束时,容器会出现,但在尝试对其进行竞争时,它不起作用。但是,如果它通过原始html完成,它可以工作。有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
如果在.className
"container"
或document
{{1}后document
附加了DOMContentLoaded
window
的元素,请使用event delegation事件
load