Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery:如何在一些动态加载的内容上扩展脚本?_Javascript_Jquery_Load - Fatal编程技术网

Javascript JQuery:如何在一些动态加载的内容上扩展脚本?

Javascript JQuery:如何在一些动态加载的内容上扩展脚本?,javascript,jquery,load,Javascript,Jquery,Load,我有一个小问题,我希望你们中的一些人能帮我解决 单击一个按钮,我想用另一个页面的内容更新一个div 假设homepage.html是这样的: <html> <head> <script type="text/javascript" src="JQUERY.JS"></script> <script type="text/javascript"> $(function() { $(".alert").clic

我有一个小问题,我希望你们中的一些人能帮我解决

单击一个按钮,我想用另一个页面的内容更新一个div

假设homepage.html是这样的:

<html>
 <head>
  <script type="text/javascript" src="JQUERY.JS"></script>
  <script type="text/javascript">
   $(function()
   {
    $(".alert").click(function()
    {
     alert("HELLO");
     return false;
    });

    $(".load").click(function()
    {
     $("#content").load("FILE.HTML");
     return false;
    });
   });
  </script>
 </head>
 <body>
  <a href="#" class="load">CLICK ME</a>
  <div id="content"></div>
 </body>
</html>

$(函数()
{
$(“.alert”)。单击(函数()
{
警惕(“你好”);
返回false;
});
$(“.load”)。单击(函数()
{
$(“#content”).load(“FILE.HTML”);
返回false;
});
});
一个相当简单的文件

现在让我们假设FILE.HTML只有这一行:

      <a href="#" class="alert">CLICK ME</a>

现在我要寻找的是:当我单击.alert时,会弹出警报框。我不知道为什么没有

所以我的问题是:为什么我加载的代码不受脚本的影响

感谢您的帮助。

您需要使用来实现这一目标。

您必须使用:


无需等待添加动态内容,此函数会将事件处理程序应用于与选择器匹配的所有未来元素。

将单击事件附加到
“.alert”
项时,
文件.html
中的内容不存在(实际上,当代码运行时,没有
.alert
项!)

您需要使用jQuery或使用事件冒泡的方法,以便不仅从现有元素捕获事件,而且从稍后插入DOM的新元素捕获事件

这还有一个很好的副作用,即每个
.alert
元素只使用一个事件处理程序,而不是一个

$(".alert").live('click', function()
  {
    alert("HELLO");
    return false;
  });