Tengo algunos eventos de clic (más de 100) en mi archivo JS y, por ejemplo, el código se ve así.
$(document).on('click', '.a', function(){ alert($(this).text()); }); $(document).on('click', '.b', function(){ alert($(this).text()); }); $(document).on('click', '.c', function(){ alert($(this).text()); }); $(document).on('click', '.d', function(){ alert($(this).text()); });Este es solo un código de ejemplo, mis eventos de clic hacen muchas cosas y no puedo cambiar el código de evento de clic,
Ahora tengo un booleano que obtengo de una función basada en alguna condición. Entonces, en el primer clic, quiero ver si esta variable es Verdadera, entonces solo se debe activar mi evento de clic en un elemento en particular, de lo contrario, el evento de clic no debería activarse.
let tre = false;//it could be true or false based on function given below based on some condition. function test(){ return tre; } $(document).on('click', '.a', function(){ alert($(this).text()); }); $(document).on('click', '.b', function(){ alert($(this).text()); }); $(document).on('click', '.c', function(){ alert($(this).text()); }); $(document).on('click', '.d', function(){ alert($(this).text()); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <section> <div class="a">a</div> <br> <div class="b">b</div> <br> <div class="c">C</div> <br> <div class="d">d</div> </section>Ahora mi requisito es si hago clic en cualquier elemento de la página (a, b, c, d) y si esa variable es VERDADERA, entonces solo debería funcionar mi alerta.
Puedo envolver todos mis eventos de clic en una función si es necesario, pero no puedo agregar una condición dentro de cada evento de clic.