gpt4 book ai didi

javascript - 如何停止调用 window.open 覆盖函数的另一个函数

转载 作者:可可西里 更新时间:2023-11-01 12:55:17 25 4
gpt4 key购买 nike

我有一个函数,每当从 window.open 打开一个新选项卡时我都会调用该函数,因为我已经覆盖了该函数。还有,

I have attached a function on document.onclick event I need that function to be a pause or stop whenever window.open function runs.

我知道 event.stopPropagation();用于实现此目的,但在函数中,它不起作用,因为事件参数无法传递。

window.open = function(open) {
return function(url) {
console.log("url", url);

// need to works here event.stopPropagation();
return open.call(window, url);
};
}(window.open);

document.onclick = clickListener;
function clickListener() {
console.log("click");
};
function openLink(){
window.open('https://www.google.com')
}
<button onclick="openLink()">open link</button>

最佳答案

事件对象将在窗口上可用。您可以尝试以下操作:

    window.open = (function(open) {
return function(url) {
window.event.stopPropagation();
console.log("url", url);

// need to works here event.stopPropagation();
return open.call(window, url);
};
})(window.open);

关于javascript - 如何停止调用 window.open 覆盖函数的另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54104401/

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