使用主脚本标签获取Ajax数据

时间:2018-08-02 11:39:23

标签: jquery html ajax

是否可以使用从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>

1 个答案:

答案 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>

这使得按钮的用途,事件处理程序将处理单击以及单击时发生的情况非常清楚。如果这样保持清晰,则维护起来会容易得多。