我正在创建一个我经常使用的小型自定义函数库,因此每次开始新项目时我都不需要重新定义它们。在库中,我需要更新URL哈希更改的值,因此需要使用window.onhashchange
。
问题在于,无论何时我需要在库外使用window.onhashchange
,它都会覆盖库提供的功能。有没有办法解决?
答案 0 :(得分:2)
您需要使用window.addEventListener
:
function myListener(evt) {
console.log(evt);
}
// before
window.onhashchange = myListener;
// after
window.addEventListener('hashchange', myListener);
删除以前添加的侦听器:window.removeEventListener(myListener);
答案 1 :(得分:1)
您需要使用addEventListener来使用多种功能
function customFunction(args){
console.log("custome override");
}
function libHashChange(args){
console.log("library methods");
}
window.addEventListener("hashchange", libHashChange);
window.addEventListener("hashchange", customFunction);