我正在使用javascript从PHP加载到一个div使用$ .get()到div。按钮单击事件工作正常。然后再次将同样的东西添加到具有不同id的不同div,但它不起作用。任何人都可以帮助我。我的代码就是这个
<style>
.loadWindow {
width:333px;
height: 202px;
padding: 5px 5px 0 5px;
font: 12px Arial, Helvetica, sans-serif;
border:double;
}
#loadWindow {
display:none;
}
<div id="main-box">
<div class="loadWindow" id="loadWindow"></div><button id="make">make</button>
我的javascript代码如下
$(function(){
$('#make').click(function(){
var id = $('.loadWindow').length;
var aw = $('#loadWindow').clone().attr("id", "window"+id);
//load data from php
$.get("mydata.php", function(data) {
aw.html(data);
$('#main-box').append(aw);
aw.show();
}, 'json');
});
});
`
我的mydata.php代码在
之下echo '<div><button id="closeBtn">Close</button></div><script>$("#closeBtn").click(function(){alert("Close button Clicked!");});</script>';
我希望单独(单独)为每个窗口单击事件工作并显示警报。在此代码中,单击事件根据窗口不起作用。我该怎么办?
答案 0 :(得分:0)
工作演示 http://jsfiddle.net/QYEWs/13/
请使用.on
API将一个或多个事件的事件处理函数附加到所选元素。
Plz注意:你的追加会使DOM无效,因为你的id总是相同的,使它成为一个类
在DOM中动态添加html附加click事件
这应该有帮助,:)
将Attaché点击事件关闭按钮,如下所示:
$("#main-box").on("click",".closeBtn", function() {
alert("Close button Clicked!");
});
$(function(){
$('#make').on('click', function(){
var id = $('.loadWindow').length;
var aw = $('#loadWindow').clone().attr("id", "window"+id);
//load data from php
$.get("mydata.php", function(data) {
aw.html(data);
$('#main-box').append(aw);
aw.show();
}, 'json');
});
});
答案 1 :(得分:0)
$(function(){
$('#make').click(function(){
var id = $('.loadWindow').length;
var aw = $('#loadWindow').clone(true).attr("id", "window"+id);
//load data from php
$.get("mydata.php", function(data) {
aw.html(data);
$('#main-box').append(aw);
aw.show();
}, 'json');
});
});