我希望阻止事件传播,以便每次点击“完成”时,警报只显示一次。
这是我的代码:
$('body').on('click', '#product', function () {
var x = "hi";
$('#done').click(function () {
alert(x);
});
});
答案 0 :(得分:1)
$('body').on('click', '#product', function () {
var x = "hi";
$('#done').click(function (e) {
alert(x);
e.stopPropagation();
});
});
答案 1 :(得分:1)
我认为这就是你要找的东西:
$('body').on('click', '#product', function () {
var x = "hi";
$('#done').click(function (e) {
e.stopPropagation();
alert(x);
});
});
我不确定你到底要做的是什么。上面的代码对我来说有点奇怪:如果你想观看#done点击,那么只使用这个id
$('body').on('click', '#done', function (e) {
e.stopPropagation();
alert('test');
});
答案 2 :(得分:1)
您可以使用event.stopPropagation(); 它将阻止事件冒充DOM。
答案 3 :(得分:0)
您可以使用布尔标记' buttonclicked'并将其标记为true,单击该按钮然后使用
var buttonclicked = false;
$('body').on('click', '#product', function () {
var x = "hi";
$('#done').click(function () {
if(buttonclicked) {
return;
} else {
alert(x);
buttonclicked = true;
}
});
});