当前位置: 首页 > 工具软件 > $ click_ > 使用案例 >

$(document).on(‘click‘)事件触发多次问题解决

卜飞鸣
2023-12-01

实例

$(document).on('click', '.box', () => {
	console.log(this.Id)
})

事件每触发一次,就相当于注册了一个click事件,所以当事件触发之后执行了多次,需要在触发事件之前移除当前元素的click事件

定义和用法

off() 方法通常用于移除通过 on() 方法添加的事件处理程序。

自 jQuery 版本 1.7 起,off() 方法是 unbind()、die() 和 undelegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。

注意:如需移除指定的事件处理程序,当事件处理程序被添加时,选择器字符串必须匹配 on() 方法传递的参数。

提示:如需添加只运行一次的事件然后移除,请使用 one() 方法。

语法

$(document).off('click', '.box').on('click', '.box', () => {
	console.log(this.Id)
})

参数

参数描述
event必需。规定要从被选元素移除的一个或多个事件或命名空间。由空格分隔多个事件值。必须是有效的事件。
selector可选。规定添加事件处理程序时最初传递给 on() 方法的选择器。
function(eventObj)可选。规定当事件发生时运行的函数。
map规定事件映射 ({event:function, event:function, …}),包含要添加到元素的一个或多个事件,以及当事件发生时运行的函数。
 类似资料: