繁体   English   中英

申请关闭后再打开on()事件

[英]Turn on() event back after apply off

应用事件off()后,如何重新打开on('click')事件?

$('#btn-aluno').on('click', function() {
    $('.new-step-email-aluno').toggle();
    $('#btn-familiar').off();
});
$('#btn-familiar').on('click', function() {
    $('.new-step-email-familiar').toggle();
    $('#btn-aluno').off();
});

new-step-email-familiar new-step-email-alunonew-step-email-aluno = <input>

btn-alunobtn-familiar = <span> (用作按钮)

在此处输入图片说明

除了关闭事件监听器之外,您还可以使用event delegation来做同样的事情,

$(document).on('click',"#btn-aluno.active", function() {
    $('.new-step-email-aluno').toggle();
    $('#btn-familiar').removeClass("active");
});

$(document).on('click',"#btn-familiar.active", function() {
    $('.new-step-email-familiar').toggle();
    $('#btn-aluno').removeClass("active");
});

每当您要激活事件侦听器时,只需将active类添加到相关元素即可。 同样在document的地方,尝试使用将绑定事件的元素的任何最接近的静态父元素。


根据您的要求,您已如下编辑逻辑,

$(document).on('click',"#btn-aluno.active", function() {
    $('.new-step-email-aluno').toggle();
    $('#btn-familiar').toggleClass("active");
});

$(document).on('click',"#btn-familiar.active", function() {
    $('.new-step-email-familiar').toggle();
    $('#btn-aluno').toggleClass("active");
});

DEMO

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM