【发布时间】:2017-04-19 10:33:57
【问题描述】:
index.php
<button class="cat" data-table="cat" >Cat</button>
<div class="animals"></div>
script.js:
$(document).on("click", ".cat", function (event) {
alert("cat");
var table = $(this).data('table');
$.ajax({
url: "update.php",
data: {
table: table,
},
type: "POST",
success: function (data) {
$(".animals").html(data);
}
})
});
$(document).on("click", ".dog", function (event) {
alert("dog");
var table = $(this).data('table');
$.ajax({
url: "update.php",
data: {
table: table,
},
type: "POST",
success: function (data) {
$(".animals").html(data);
}
})
});
$(document).on("click", ".bird", function (event) {
alert("bird");
var table = $(this).data('table');
$.ajax({
url: "update.php",
data: {
table: table,
},
type: "POST",
success: function (data) {
$(".animals").html(data);
}
})
});
更新.php
if ($table == "cat") {
echo "<button class='dog' data-table='dog'>Dog</button>";
}
if ($table == "dog") {
echo "<button class='dog' data-table='dog'>Dog</button><button class='bird' data-table='bird'>bird</button>";
}
if ($table == "bird") {
echo "nothing";
}
通过单击动物按钮(例如“鸟”),我希望警报框只触发一次。但是每次我点击动物时,警报框都会发出越来越多的声音。
【问题讨论】:
-
你可以试试这个。 $(document).off('click').on("click", ".cat".....
-
我很困惑,当您编写了 3 个完全独立的事件处理程序,每个都有自己的警报时,为什么您会期望只看到一个警报?
-
@DavinderKumar 对其进行了测试。该按钮现在不再起作用了
-
@freedomn-m 不是我的意思:我点击“鸟”然后它只提醒一只“鸟。但它提醒鸟鸟鸟
-
啊,谢谢你的澄清。