一个网页有一些链接:
<a href="#example-hash-1" class="link">example-1</a>
<a href="#example-hash-2" class="link">example-2</a>
<a href="#example-hash-n" class="link">example-n</a>
点击它们中的任何一个,它将运行一个hashchange事件,我们将处理它:
$(window).on('hashchange', function(event){
// Is it possible (inside this handler) to find out which of a.link was clicked?
});
或者,还有其他方法吗?
虽然我认为在实际链接中添加单击侦听器是最好的,但您也可以搜索会更改散列的元素,如下所示:
$(window).on('hashchange', function(event){
$('a[href$='+window.location.hash+']').action();
});
我认为您可以使用onclick作为标签中的属性,或者您可以通过jQuery使用.click()事件。我认为这将完成与hashchange窗口相同的功能。
event.target
将保存触发事件的元素。
我现在不能检查,但我相信this
也绑定。
try this:
$(window).on('hashchange', function(event){
var hash = location.hash;
var $this = $(hash);
alert($this.html());
});