gpt4 book ai didi

javascript - window.history.back 非法调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:30:33 24 4
gpt4 key购买 nike

为什么我可以这样做:

$("button").on('click', function(){window.history.back();});

然而,当我尝试时;

$("button").on('click', window.history.back);
/*or*/ $("button").on('click', history.back);

我得到:

Uncaught TypeError: Illegal invocation
at HTMLAnchorElement.dispatch (jquery-1.12.4.js:5226)
at HTMLAnchorElement.elemData.handle (jquery-1.12.4.js:4878)

我的印象是,当没有保留的上下文时,它默认为 window 对象,这将允许我这样做吗?

最佳答案

首先,history.back() 必须以 history 作为上下文调用,如果它默认为 window 它将抛出你描述的错误。不过,这里的问题是 jQuery 使用绑定(bind)了事件监听器的元素调用处理程序。

您的第一行代码有效,因为上下文与您作为处理程序传递的匿名函数无关。 jQuery 将元素设置为上下文这一事实并不重要,因为您在其中正确调用了 history.back()

关于javascript - window.history.back 非法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46879422/

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