对于未通过源代码打印的Ajax加载的html运行Javascript或Jquery

时间:2017-10-07 09:14:47

标签: javascript jquery html ajax

我的页面上有一个链接,如果单击,将通过Ajax生成一个弹出窗口。 (弹出代码不在我的控制之下)

现在我想通过我的代码jQuery在这个弹出窗口的链接上添加功能。

加载页面后,此弹出窗口不会打印在源代码中。显然jQuery无法找到这个链接。

如何在此ajax弹出窗口中的此链接上添加click()触发器功能?

1 个答案:

答案 0 :(得分:1)

如果我正确理解了该问题,则不会触发您的click事件,因为在附加事件后加载了目标。要解决此问题,您可以取消使用`[on]'(http://api.jquery.com/on/)方法。

$("#myModal").on( "click", "a#myLink", function() {
  console.log( "click fired");
});



$("#modalContainer").on( "click", "#myTargetElement", function() 
{
  console.log("click fired");
});

$('#btn').click(function()
               {
  $('#modalContainer').html("<div id='myTargetElement'>ajax loaded content</div>")
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="modalContainer">initial content</div>
<button id=btn>fake ajax load</button>
&#13;
&#13;
&#13;