Javascript 如何同时解除绑定事件处理程序和传递参数?
我的代码中有以下场景:Javascript 如何同时解除绑定事件处理程序和传递参数?,javascript,jquery,html,Javascript,Jquery,Html,我的代码中有以下场景: 函数外部(){ 控制台日志(x); //一段时间后,如果满足某些条件,则将处理程序从#红色中移除 $(“红色”)。关闭(“单击”,外部); } 函数内部(){ var x=786; $(“红色”)。单击(外部); } 内() 红色 .off()与.on()一起使用。因此,您的代码可以如下所示: function outer(x) { $('body').append('<br>button clicked and event removed! x va
函数外部(){
控制台日志(x);
//一段时间后,如果满足某些条件,则将处理程序从#红色中移除
$(“红色”)。关闭(“单击”,外部);
}
函数内部(){
var x=786;
$(“红色”)。单击(外部);
}
内()代码>
红色
.off()
与.on()
一起使用。因此,您的代码可以如下所示:
function outer(x) {
$('body').append('<br>button clicked and event removed! x value: ' + x);
$("#red").off(".onlythis");
}
function inner() {
var x = 786;
$("#red").on('click.onlythis', function(){ outer(x); });
}
inner();
功能外部(x){
$('body').append('
单击按钮并删除事件!x值:'+x);
$(“红色”).off(“.onlythis”);
}
函数内部(){
var x=786;
$(“#红色”).on('click.onlythis',function(){outer(x);});
}
内();
.off()
与.on()
一起使用。因此,您的代码可以如下所示:
function outer(x) {
$('body').append('<br>button clicked and event removed! x value: ' + x);
$("#red").off(".onlythis");
}
function inner() {
var x = 786;
$("#red").on('click.onlythis', function(){ outer(x); });
}
inner();
功能外部(x){
$('body').append('
单击按钮并删除事件!x值:'+x);
$(“红色”).off(“.onlythis”);
}
函数内部(){
var x=786;
$(“#红色”).on('click.onlythis',function(){outer(x);});
}
内();
但这将从#red
中删除所有单击事件。我只想删除特定的处理程序。绑定事件时可以使用命名空间。我已经编辑了答案我们也可以在纯javascript removeEventListener中使用名称空间吗?但这将从#red
中删除所有单击事件。我只想删除特定的处理程序。绑定事件时可以使用命名空间。我已经编辑了答案我们也可以在纯javascript removeEventListener中使用名称空间吗?