我设置此脚本以捕获元素的点击次数并获取location.hash值:
$('a').on('click', function(){
filenamehash=location.hash;
console.log(filename);
console.log(filenamehash);
});
问题是,在函数完成之前,哈希的值似乎没有变化。因此,如果我在页面中单击一个新的哈希值,则上述脚本无法捕获它。如果我第二次点击它,它就会。
我需要某种延迟吗?或者也许"点击完成"事件(如果有这样的事情?)。
感谢。
答案 0 :(得分:3)
为什么不直接监听哈希更改
$(window).on('hashchange', function() {
console.log( window.location.hash );
});
或者如果哈希是锚点href,那就得到那个
$('a').on('click', function(){
var filenamehash = $(this).attr('href');
console.log(filenamehash);
});