【发布时间】:2015-08-03 03:22:54
【问题描述】:
我在页面上有 div 块:
<div class='btn'>click here</div>
<div class='dialogWindow'></div>
和带有点击处理程序的 js:
$('.btn').live('click', function(){
$.ajax({
type: "POST",
url: "services/service1.php"
}).done(function(result) {
$('.dialogWindow').empty().append(result).dialog();
// Handler for btn in HTML from service1
$('.newBtn').live('click', function(){
alert('click on new btn');
});
});
});
来自 service1 的 HTML:
<div class='newBtn'>click here</div>
当用户点击 div.btn ajax 从 service1 HTML 中返回新的 div.newBtn。 jQuery 对话框窗口中显示的新 HTML。当用户关闭对话框窗口并通过单击 div.btn 再次打开它,然后单击 div.newBtn => click-event on div.newBtn 运行两次。 如何在 div.newBtn 上运行 click-event 仅不依赖于用户打开 jQuery 对话框窗口的次数??????
【问题讨论】:
-
在
liveof.newbtn中尝试event.stopImmediatePropagation?! -
与“stopImmediatePropagation”的结果相同。不工作。
-
我不确定您的情况,但
event.stopImmediatePropagation有效。请参阅此DEMO -
我把它放在正确的地方是错误的。作品:)
-
太棒了!!快乐编码.. :)
标签: javascript jquery html ajax jquery-ui