是否可以使用从ajax提取的新数据中的index.php
脚本?我做了很多研究,但仍然没有答案!
index.php
<script>
function callMe(){
alert("hi");
}
</script>
...
<div id="LoadHere">
<button onClick="callMe()">Click</button>
</div>
<script>
function loadit(){
$.ajax({
url:'result.php',
method:"POST",
success: function(data){
$('#LoadHere').append(data);
}
});
}
function loadFetch(){
loadit();
}
</script>
<button onClick="loadFetch();">LOAD FETCH</button>
result.php
<button onClick="callMe()"></button>
答案 0 :(得分:1)
如果您从按钮中取出内联事件处理程序,然后将委托事件处理程序分配给容器,则可以这样做...
$("#LoadHere").on("click", "button", function() {
callMe();
});
将按钮更改为...
<button>call me</button>
这是一个有效的小提琴示例,其中包含获取html ...的帖子。
http://jsfiddle.net/ArchersFiddle/s8e67kav/5/
(我会发布一个代码段,但是我正在使用jsfiddle回显网址来“请求” HTML)
事件委托
简而言之,您正在为ID为LoadHere
的元素分配一个click事件处理函数,每当您单击内部内的任何元素时,它将查看它是否符合第二个条件,在这种情况下为按钮。如果是,则执行事件处理程序。如果仅要将事件处理程序分配给特定元素或元素组,则不需要第二个参数。只是...
$("#elementId").on("click", function() {
// do something when clicked
});
注意::由于您正在考虑加载多个相似的元素,因此建议您为按钮指定一个类名,以便事件处理程序对所有这些元素都适用...
例如:
$("#LoadHere").on("click", ".callMe", function() {
callMe();
});
<button class="callMe">call me</button>
这使得按钮的用途,事件处理程序将处理单击以及单击时发生的情况非常清楚。如果这样保持清晰,则维护起来会容易得多。