javascript 从单击处理程序退出

xfb7svmp  于 12个月前  发布在  Java
关注(0)|答案(5)|浏览(93)

你如何退出一个事件?

$('.more').click(function() {
   if (condition1) {
      if (condition2) {
         // abort, exit completely out of click handler
      ...

字符串

jv2fixgn

jv2fixgn1#

在这里使用return

$('.more').click(function() {
   if (condition1) {
      if (condition2) {
         // abort, exit completely out of click handler
         return;

字符串

参见:
Interrupting a function Safely

c3frrgcw

c3frrgcw2#

第一个月
这将使您退出与单击处理程序关联的函数;

vsaztqbk

vsaztqbk3#

注意,你也可以在这里使用break。

$('.more').click(function() {
   if (condition1) {
      if (condition2) {
         // abort, exit completely out of click handler
         break;

字符串

92vpleto

92vpleto4#

我不再使用匿名函数,因为当我开始命名它们时,我对JavaScript的理解跳到了一个新的平台。此外,命名你的函数提供了一种内联文档:

$('.more').click(myFunction)

function myFunction() {
   if (condition1) {
      if (condition2) {
         return
      }
   }
}

字符串

f87krz0w

f87krz0w5#

我的问题似乎既没有用break也没有用return解决,所以我最终通过给脚本标记一个ID,然后在点击事件完成后从DOM中删除整个脚本来解决它:

<script id="clickEventScript">
document.querySelector('.where-the-user-clicks').addEventListener('click', () => {
  setTimeout(function() {
    // do the things
    document.getElementById('clickEventScript').remove();
  }, 1000);
});
</script>

字符串
这是一个有点混乱的黑客,但它做的伎俩!

相关问题