根据事件有条件地防止事件删除

乔治

我有一个有趣的情况。我有多个单击事件附加到一个元素。

在事件1之后,我需要删除事件2,但保留事件1。

这是我所拥有的:

$('.square').on('click', grow);
$('.square').on('click', nameReset);
var nameReset = function () {
    alert(this.className);
}
var grow = function () {
    $(this).toggleClass('grow');
    $(this).off('click');
}

换句话说,我需要保留grow函数,但是在事件触发后删除nameReset。

.square {
    height: 100px;
    width: 100px;
    border: 1px solid;
    display :inline-block;
    transition: all 2s;
}
.grow {
    width: 150px;
    height: 150px;
}
.red { background-color: red; }
.blue { background-color: blue; }
乔什·克罗泽(Josh Crozier)

两种选择:

  • 删除事件时,请指定功能(即$(this).off('click', nameReset))。

    这里的例子

    jQuery的 .off()

    可以通过在处理程序参数中指定函数名称来删除处理程序。当jQuery附加事件处理程序时,它将为处理程序函数分配一个唯一的ID。

    var nameReset = function () {
        alert(this.className);
    }
    var grow = function () {
        $(this).toggleClass('grow');
        $(this).off('click', nameReset);
    }
    $('.square').on('click', grow);
    $('.square').on('click', nameReset);
    
  • 另外,您可以为事件$(this).off('click.square.nameReset')命名空间以删除所需的事件:

    这里的例子

    var nameReset = function () {
        alert(this.className);
    }
    var grow = function () {
        $(this).toggleClass('grow');
        $(this).off('click.square.nameReset');
    }
    
    $('.square').on('click.square.grow', grow);
    $('.square').on('click.square.nameReset', nameReset);
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Vue防止事件有条件地传播给孩子

来自分类Dev

有条件的发布事件

来自分类Dev

有条件的无事件

来自分类Dev

有条件地删除宏

来自分类Dev

MVC表单提交按钮将有条件地具有OnClick事件

来自分类Dev

在父类传递的事件处理程序中有条件地更新子组件的状态

来自分类Dev

有条件地触发幻灯片并隐藏javascript事件

来自分类Dev

流星-有条件地返回一组事件处理程序

来自分类Dev

有条件地分配值时,模糊事件会自动触发

来自分类Dev

根据所有列的值有条件地删除熊猫中的行

来自分类Dev

大熊猫根据组的记录数有条件地删除记录

来自分类Dev

根据列中的最大值有条件地删除Excel中的重复项

来自分类Dev

Notepad ++ XML-根据子标签内容有条件地删除标签

来自分类Dev

Groupby Pandas 数据框并根据排名有条件地删除值

来自分类Dev

如何根据多个对象属性有条件地删除数组中的对象?

来自分类Dev

有条件地防止容器退出

来自分类Dev

根据模式有条件地突变新列

来自分类Dev

根据属性值有条件地包含组件

来自分类Dev

根据单独的字典有条件地创建字典

来自分类Dev

根据模式有条件地突变新列

来自分类Dev

根据日期/时间有条件地运行代码

来自分类Dev

根据字段有条件地选择整个记录

来自分类Dev

创建一个有条件的mysql事件

来自分类Dev

具有条件流的基于BPMN事件的网关

来自分类Dev

有条件地执行switchMap,否则,取消所有操作而不触发错误事件

来自分类Dev

AngularJS有条件地删除CSS悬停

来自分类Dev

有条件地删除Matplotlib饼图中的标签

来自分类Dev

有条件地从数据框中删除

来自分类Dev

SSRS有条件地从表中删除行

Related 相关文章

热门标签

归档