事件取消
优质
小牛编辑
127浏览
2023-12-01
使用on()
方法绑定事件后,若希望取消绑定,则可以使用off()
方法。off()
方法根据传入参数的不同,有不同的实现逻辑。
version added: 2.0.0 .off( event , selector , handler )
version added: 2.0.0 .off( event , selector)
version added: 2.2.0 .off( event )
- event Type: String 需取消绑定的事件名称,例如:'tap'
version added: 2.2.0 .off( )
- 空参数,删除该元素上所有事件
示例
off(event,selector,handle)
适用于取消对应选择器上特定事件所执行的特定回调,例如:
//点击li时,执行foo_1函数
mui("#list").on("tap","li",foo_1);
//点击li时,执行foo_2函数
mui("#list").on("tap","li",foo_2);
function foo_1(){
console.log("foo_1 execute");
}
function foo_2(){
console.log("foo_2 execute");
}
//点击li时,不再执行foo_1函数,但会继续执行foo_2函数
mui("#list").off("tap","li",foo_1);
off(event,selector)
适用于取消对应选择器上特定事件的所有回调,例如:
//点击li时,执行foo_1函数
mui("#list").on("tap","li",foo_1);
//点击li时,执行foo_2函数
mui("#list").on("tap","li",foo_2);
function foo_1(){
console.log("foo_1 execute");
}
function foo_2(){
console.log("foo_2 execute");
}
//点击li时,foo_2、foo_2两个函数均不再执行
mui("#list").off("tap","li");
off(event)
适用于取消当前元素上绑定的特定事件的所有回调,例如:
//点击li时,执行foo_1函数
mui("#list").on("tap","li",foo_1);
//点击p时,执行foo_3函数
mui("#list").on("tap","p",foo_3);
function foo_1(){
console.log("foo_1 execute");
}
function foo_3(){
console.log("foo_3 execute");
}
//点击li时,不再执行foo_1函数;点击p时,也不再执行foo_3函数
mui("#list").off("tap");
off()
适用于取消当前元素上绑定的所有事件回调,例如:
//点击li时,执行foo_1函数
mui("#list").on("tap","li",foo_1);
//双击li时,执行foo_4函数
mui("#list").on("doubletap","li",foo_4);
//点击p时,执行foo_3函数
mui("#list").on("tap","p",foo_3);
function foo_1(){
console.log("foo_1 execute");
}
function foo_3(){
console.log("foo_3 execute");
}
function foo_4(){
console.log("foo_4 execute");
}
//点击li时,不再执行foo_1函数;点击p时,也不再执行foo_3函数;双击li时,也不再执行foo_4函数;
mui("#list").off();
扩展阅读
代码块激活字符mmoff