我有这段代码,
$('#gogo').click(function(e){
var data='<a href="http://www.google.com" class="myButtons">Google</a><a href="http://www.microsoft.com" class="myButtons">Microsoft</a>";
$("#showResults").html(data);
});
$(".myButtons").click(function(e) {
e.preventDefault();
alert($(this).attr("href"));
$("#result").attr("src", $(this).attr("href"));
});
<button id="gogo">Click me</button>
<div id="showResults"></div>
<iframe id="result" name="result" src="" width="750px" height="450px" frameBorder="0"></iframe>
我想知道它为什么不起作用。也许是因为没有新添加的html标签的事件处理程序?
我不想使用目标=&#34;结果&#34;
谢谢。
答案 0 :(得分:2)
您的代码不是绑定事件监听器来创建dom节点。检查我的解决方案:
$('#gogo').click(function(e){
var data='<a href="http://wikipedia.org" class="myButtons">Wikipedia</a><a href="http://www.microsoft.com" class="myButtons">Microsoft</a>';
$("#showResults").html(data);
});
$("body").on("click", ".myButtons", function(e) {
e.preventDefault();
alert($(this).attr("href"));
$("#result").attr("src", $(this).attr("href"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="gogo">Click me</button>
<div id="showResults"></div>
<iframe id="result" name="result" src="" width="750px" height="450px" frameBorder="0"></iframe>