在jQuery点击事件功能期间,我理解在基础事件完成之前触发click事件(并更新URL)...因此您可以控制事件。这意味着链接的哈希值尚未通过window.location.hash
e.target.hash
比到达<a>
元素本身获得哈希值更好;或通过onclick
事件传递必要的变量? &#34;更好的&#34;定义为跨浏览器兼容性或更容易出错。
例如:
<a class="accountLink" href="#account/123456">Account 123456</a>
$('.accountLink').click(function(e){
console.log(e.target.hash);
console.log(window.location.hash);
});
日志:
#account/123456
(blank on initial click)
答案 0 :(得分:2)
答案 1 :(得分:0)
根据Mozilla Web API,每个现代浏览器都支持Event.target
,但使用Event.srcElement
的Internet Explorer 6到8除外,所以如果你想支持它,你可以使用方法:
var target = (event.target || event.srcElement);
事实上,.event
属性is defined as:
触发此操作的调用左侧的DOM元素 事件,例如:
element.dispatchEvent(event)
因此与到达<a>
你自己一样。