Javascript jQuery的hashchange事件没有';如果我直接用hash打开一个页面,则无法工作
我在html页面的末尾放置了一个脚本标记:Javascript jQuery的hashchange事件没有';如果我直接用hash打开一个页面,则无法工作,javascript,jquery,html,Javascript,Jquery,Html,我在html页面的末尾放置了一个脚本标记: $(window.on('hashchange',函数(e){alert(location.hash);}) 如果我单击带有HREF的按钮(如#a),它会工作,但如果我打开链接(如localhost/aaa),则不会触发警报功能 $(window).on('hashchange', function (e) { alert(location.hash); }).trigger('hashchange'); 因此,看起来我必须在文档准备就绪时检
$(window.on('hashchange',函数(e){alert(location.hash);})代码>
如果我单击带有HREF的按钮(如#a
),它会工作,但如果我打开链接(如localhost/aaa
),则不会触发警报功能
$(window).on('hashchange', function (e) {
alert(location.hash);
}).trigger('hashchange');
因此,看起来我必须在文档准备就绪时检测哈希的存在。但这看起来是错误的
有没有办法使它在这两种情况下都能工作?您必须在页面加载时手动触发事件。只有在用户直接执行操作时才会触发该事件。
由于它是页面加载,用户不执行任何操作,因此不会触发on hashchange事件
$(window).on('hashchange', function (e) {
alert(location.hash);
}).trigger('hashchange');
如果只想在存在哈希值时触发事件,则
$(window).on('hashchange', function (e) {
alert(location.hash);
});
if (window.location.hash) {
$(window).trigger('hashchange')
}