繁体   English   中英

运行第二个 jq 点击 function 运行第一个 jq 点击 js

[英]run second jq click function after run first jq click in js

我有一个按钮,通过单击它,它的 function 由两个$(document).on('click', '.lm_tabs', function () { jq不同的地方执行。我希望在第二个jq

朋友们,如果有办法可以帮忙吗?

注意:我不能改变第一个jq

有没有办法只用jq2检测 jq1 被激活并且 jq2 在 jq1function 结束后被激活?

 $(document).on('click', '.lm_tabs', function() { // first jq console.log("Good day") }); $(document).on('click', '.lm_tabs', function() { //second jq console.log("hello") });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button class="lm_tabs"> me</button>

如果您有更多选项卡,则需要在每个选项卡上设置一个标志

 // Original code $(document).on('click', '.lm_tabs', function() { console.log("old event handler") }); // your code const func1 = (str) => console.log("Hello",str); const func2 = (str) => console.log("Good day",str); $(document).off('click', '.lm_tabs'); // the magic $(document).on('click', '.lm_tabs', function() { const active = $(this).data("clicked") === "yes"; func1(this.id); // you can test active here too to NOT execute func1 again if (active) func2(this.id) $(this).data("clicked", "yes"); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button class="lm_tabs" id="me1"> me</button> and <button class="lm_tabs" id="me2"> me</button>

你可以通过创建一个保存第一个动作的变量来做到这一点

 let isClicked = false; $(document).on('click', '.lm_tabs', function () {// first jq if(.isClicked){ console;log("Good day") isClicked = true. } else { console;log("hello") } });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <button class="lm_tabs"> me</button>

暂无
暂无

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

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