gpt4 book ai didi

javascript - JQuery 访问单击的元素而不使用闭包

转载 作者:行者123 更新时间:2023-12-02 15:03:43 25 4
gpt4 key购买 nike

我正在尝试处理像这样的简单 JQuery 点击事件

$('nav.menu a').on('click', function(){
console.log($(this)); // returns the DOM element
});

但是由于我想重用闭包,因此我将其更改为普通函数:

function myClickCallback(event, someParam){
console.log($(this)); // returns the 'window' obj
}

$('nav.menu a').on('click', myClickCallback(event, someParam));

所以问题是如何从 myClickCallback 函数中访问单击的元素

最佳答案

您可以使用event.target

function myClickCallback(event){
console.log($(event.target));
}

$('nav.menu a').on('click', myClickCallback);

如果你想向函数传递参数,可以使用 event.data 的传输机制。 event.data 包含调用事件处理函数时传递给 $.on 的数据参数:

function myClickCallback(event){
console.log('event on ' + $(event.target));
console.log('param ' + event.data);
}

$('nav.menu a').on('click', null, 'theParam', myClickCallback);

关于javascript - JQuery 访问单击的元素而不使用闭包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35253055/

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