gpt4 book ai didi

javascript - 如何将事件分配给变量

转载 作者:行者123 更新时间:2023-11-28 11:35:49 26 4
gpt4 key购买 nike

我想将事件分配给变量,因为我无法删除具有不同回调的 $('body').on('keyup') 事件(对不起我的英语)。这不可能吗?

function test_1()
{
$('body').on('keyup', function(e)
{
//do stuff 1
}
}

function test_2()
{
$('body').on('keyup', function(e)
{
//do stuff 2
}
}
test_1();
test_2();

现在我想删除在按键时执行“do stuff 2”的事件监听器。

我想要类似的东西:

var handler_1;
var handler_2;
function test_1()
{
handler_1 = $('body').on('keyup', function(e)
{
//do stuff 1
}
}

function test_2()
{
handler_2 = $('body').on('keyup', function(e)
{
//do stuff 2
}
}
function delete()
{
handler_2.off();
}
test_1();
test_2();

然后我执行delete(),我希望handler_2将关闭该事件。但是当我按任意键时,“do stuff 1”必须起作用。

最佳答案

我会使用 namespace 事件。这允许您为事件分配一个名称,以便稍后可以轻松删除它。另外,当您将结果分配给 handler_1 时,您实际上只是返回一个表示 body 元素的 jquery 对象,因此它相当于 $('body') ,所以我认为没有必要。

function test_1()
{
$('body').on('keyup.fn1', function(e)
{
//do stuff 1
}
}

function test_2()
{
$('body').on('keyup.fn2', function(e)
{
//do stuff 2
}
}
function delete()
{
$('body').off('keyup.fn2');
}
test_1();
test_2();

关于javascript - 如何将事件分配给变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21560486/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com