所以我有两个点击事件“按钮打开”和“按钮关闭”。我有一个按钮,点击时从“按钮打开”切换到“按钮关闭”。因此,当我再次点击它时,它应该触发“按钮关闭”事件,但它会再次触发“按钮打开”事件。 演示:jsFidde
这是我的代码:
<a href="#" class="button-open">Button</a>
<script>
$(document).ready(function() {
$(".button-open").click(function() {
$(this).removeClass("button-open").addClass("button-close");
alert("Open Was Clicked");
});
$(".button-close").click(function() {
$(this).removeClass("button-close").addClass("button-open");
alert("Close Was Clicked");
});
});
</script>
答案 0 :(得分:5)
使用on()
代替click()
,因为您需要绑定到最初绑定它时尚不存在的元素。
$(document).on('click', '.button-open', function() {
$(this).removeClass("button-open").addClass("button-close");
alert("Open Was Clicked");
});
$(document).on('click', '.button-close', function() {
$(this).removeClass("button-close").addClass("button-open");
alert("Close Was Clicked");
});
<强> DEMO 强>