jQuery(document).ready(function($) {
function passive(){
$('.div_level_1_active').
removeClass('div_level_1_active').
addClass('div_level_1_passive');
$(this).
removeClass('div_level_1_passive').
addClass('div_level_1_active');
}
$('.div_level_1_passive').on("click", passive);
});
上面的代码显示了一个简单的按钮点击,它将打开一个框。错误是,一旦我使用此事件,我再也无法使用它。我已经使用了函数,因此该方法可以使用多次,但它不会工作。
评论更新:
“我用它修好了。感谢你的时间,除非得到我的观点。”:
jQuery(document).ready(function ($) {
function passive(thisObject) {
$('.div_level_1_active').removeClass('div_level_1_active').addClass('div_level_1_passive');
$(thisObject).removeClass('div_level_1_passive').addClass('div_level_1_active');
}
function active(thisObject) {
$(thisObject).removeClass('div_level_1_active').addClass('div_level_1_passive');
}
$('.div_level_1_passive').click(function () {
passive(this);
});
$('.div_level_1_active').click(function () {
active(this);
});
});
答案 0 :(得分:3)
您的on()
仅适用于调用时存在的.div_level_1_passive
元素。您想要处理稍后出现的那些(如在您的点击处理程序中):
$(document).on("click", '.div_level_1_passive', passive);
答案 1 :(得分:1)
使用
$(document).on("click", ".div_level_1_passive", passive);
绑定click事件。这将适用于div_level1_passive类的所有元素,即使在绑定click事件后添加