我有以下功能:

export function myoutsideClickHandler(menuRef) {
    console.log("%%%%%%%%%%%%%%%%%%%%%%%%%%");
    console.log(menuRef);
    document.addEventListener('click', (menuRef)=>test1(menuRef), false);
}


我可以看到menuRef已打印并具有价值。到现在为止还挺好。

现在在test1()函数中,我有:

export function test1(e, menuRef){
    console.log(menuRef);
}


在控制台中,我看到undefined,这意味着menuRef尚未通过addEventListener发送

我传递menuRef参数的方式是否错误?

最佳答案

您绑定事件的方式是错误的。您点击的menuRef将会成为事件。您没有传递第二个参数。您的点击处理程序应为:

document.addEventListener('click', evt => test1(evt, menuRef), false);

07-28 05:32