gpt4 book ai didi

javascript - anchor "javascript:void(0)"导致 window.onbeforeunload 在 IE 上触发

转载 作者:可可西里 更新时间:2023-11-01 02:19:34 24 4
gpt4 key购买 nike

我正在使用一个名为 Chosen 的下拉小部件它有一个带有 href javascript:void(0) 的 anchor 。当我单击下拉菜单时它可以工作,但在 IE 上它会触发一个新的 onbeforeunload 事件,这令人沮丧,因为应用程序会确认您是否要离开。显然,您不希望在输入表单数据时遇到这些问题。

有没有办法在不改变 Chosen 库的情况下解决这个问题?

不幸的是:

window.onbeforeunload = function (e) {
console.log(window.location);
};

也不记录 javascript:void(0),所以,我不能用它来检查目标 URL。

这种行为至少发生在 IE9 中,这就是我所关心的(不是旧的 IE)。

最佳答案

我能看到的唯一解决方案是将 false 的返回添加到链接的 onclick 事件处理程序中。它会告诉 IE 您不打算通过单击链接来更改页面。

<a href="javascript:void(0);" onclick="doSomething(); return false;">Link</a>

同样可以这样写:

<script>
function doSomething() {
// do Something
return false;
}
</script>

<a href="javascript:void(0);" onclick="return doSomething();">Link</a>

关于javascript - anchor "javascript:void(0)"导致 window.onbeforeunload 在 IE 上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10548614/

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