Javascript 我想要相同的函数以两种方式反应
我有一个函数,当Javascript 我想要相同的函数以两种方式反应,javascript,jquery,Javascript,Jquery,我有一个函数,当location.hash()被更改时,它会隐藏/显示一个按钮 window.addEventListener("hashchange", function() { //some method to toggle a button }) 但是我发现当用户刷新页面而不是单击链接进入单个页面时,它不会执行 所以我试着把它放在一个.ready()中,但仍然 $(document).ready(function() { window.addEventLis
location.hash()
被更改时,它会隐藏/显示一个按钮
window.addEventListener("hashchange", function() {
//some method to toggle a button
})
但是我发现当用户刷新页面而不是单击链接进入单个页面时,它不会执行
所以我试着把它放在一个.ready()
中,但仍然
$(document).ready(function() {
window.addEventListener("hashchange", function() {
//some method to toggle a button
})
});
但是当用户刷新页面时,它似乎不会执行如果您想在页面重新加载时触发函数,请将该函数编写为一个真实的命名函数(而不是事件处理绑定调用中的匿名函数),然后直接调用该函数。问题是我需要它以两种方式执行谢谢,似乎我最好还是坚持使用javascript而不是Jquery。@anson920520如果你已经在应用程序中的任何地方出于某种原因使用了Jquery,那么最好使用它,因为$(document).ready()对不支持
DOMContentLoaded
事件的浏览器有回退功能。所以第一个看起来是这样的:$(document).ready(toggleButton)
。再次感谢,似乎这些浏览器确实支持我需要介绍的浏览器:,所以我现在还是坚持使用js。虽然公平地说,现在没有浏览器不再支持js,因为微软已经停止支持IE10及以下版本,除了Windows Vista SP2用户,这是一个太小的部分,不需要关心。
function toggleButton() {
// Some method to toggle a button
}
document.addEventListener("DOMContentLoaded", toggleButton);
window.addEventListener("hashchange", toggleButton);