我希望在哈希更改时执行一些ajax调用,但也要在初始页面加载时执行。
$(window).on('hashchange', function (e) {
//execute this code
});
if (window.location.hash) {
$(window).trigger('hashchange')
}
但只有在网址domain.com#hash
中有哈希值时才会执行此操作。如果我加载纯URL domain.com
,则代码不会被执行。
如何在有和没有哈希的情况下执行此操作? (当没有哈希加载网址时,会显示一些数据。有了显示的附加数据)。
答案 0 :(得分:0)
如果您希望在页面加载后发生这种情况:
$(window).on('load', function () {
$(window).trigger('hashchange');
});
或者如果您希望它立即发生(不是在加载后)
$(function() {
$(window).trigger('hashchange');
});
这是不必要的
if (window.location.hash) {
$(window).trigger('hashchange')
}
只有当存在哈希值(hashchange
)时,您的代码才会触发window.location.hash
。当存在哈希变换时,您将执行您的功能。
但是如果你想要,无论是否有哈希,都不需要检查它是否存在。