<a class="lnk" href="#" onclick="showItem();">
<span data-id="27">TEST</span>
</a>
function showItem()
{
var itid = event.target.dataset.id;
alert(itid);
}
如果您尝试this jsfiddle code,您可以看到使用IE(11)和Chrome正确评估事件对象,但使用Firefox(32.0)时会出现错误(ReferenceError:未定义事件)
这是Firefox或IE和Chrome中不同的事件对象生命周期的错误? 然而,因为在IE和Chrome中它正在工作,我认为这是一个问题。 关于解决方法?
p.s:在jsfiddle中,只有firefox,代码选择仍有问题(经过一些运行后你无法选择代码。
答案 0 :(得分:16)
您应该将event
作为参数传递给函数:
<a class="lnk" href="#" onclick="showItem(event);">
<span data-id="27">TEST</span>
</a>
function showItem(e)
{
e = e || window.event;
var itid = e.target.dataset.id;
alert(itid);
}
将其作为全局变量访问是Chrome复制的IE功能,但我不认为它是标准的Javascript。