Javascript Firefox 6的Event.target问题
在Firefox6中,我试图获取发生事件的目标元素,但它没有显示任何元素,并且在alert中显示undefined。尝试使用firebug工具对其进行调试,发现事件对象缺少属性“target”。有人能帮我吗?我有下面的代码Javascript Firefox 6的Event.target问题,javascript,javascript-events,Javascript,Javascript Events,在Firefox6中,我试图获取发生事件的目标元素,但它没有显示任何元素,并且在alert中显示undefined。尝试使用firebug工具对其进行调试,发现事件对象缺少属性“target”。有人能帮我吗?我有下面的代码 function getSource(event) { if(!event) { field = window.event.srcElement; alert(field); } else {
function getSource(event)
{
if(!event)
{
field = window.event.srcElement;
alert(field);
}
else
{
field = event.target;
alert(field) //Getting undefined in FF6
}
}
function getSource(e)
{
if(!e)
e = window.event;
field = evt.srcElement || evt.target;
alert(field);
return true;
}
编辑部分
document.onkeypress = getSource;
document.onmouseup = getSource;
任何帮助都将不胜感激。请在Fx 6中测试:
<script type="text/javascript">
window.onload = function() {
document.getElementById('d0').onclick = showTarget;
}
function showTarget(e) {
e = e || window.event;
var target = e.target || e.srcElement;
alert(target.tagName);
}
</script>
<div id="d0">
<p>click on me</p>
</div>
window.onload=函数(){
document.getElementById('d0')。onclick=showTarget;
}
功能显示目标(e){
e=e | | window.event;
var target=e.target | | e.src元素;
警报(目标.tagName);
}
点击我
它应该提醒“p”。如类似问题中所述,将功能更改为:
function getSource(evt)
{
if(!evt)
evt = window.event;
if (evt) {
field = evt.srcElement || evt.target;
alert(field);
return true;
}
alert("event not found");
return false;
}
请尝试下面的代码
function getSource(event)
{
if(!event)
{
field = window.event.srcElement;
alert(field);
}
else
{
field = event.target;
alert(field) //Getting undefined in FF6
}
}
function getSource(e)
{
if(!e)
e = window.event;
field = evt.srcElement || evt.target;
alert(field);
return true;
}
希望这对您有所帮助。这是什么类型的事件(以及您期望的
目标是什么)?它在所有其他浏览器上都能工作吗?它是一个点击事件,目标可以是按钮、文本框等。你能显示注册处理程序getSource()
的HTML代码段吗?或者,整个HTML是可能的。如果没有更多的信息或代码,我不得不说这在FF6中可能不是问题。请参见,请参见编辑的部分@rfausak:我在Firefox3中尝试了相同的代码,得到了我想要的,但只有在firefox6中我才遇到这个问题。没有人理解我的意思,我在firebug工具本身中没有“target”属性,您希望您的代码在firefox 6中如何工作?您的代码的问题是,当未定义event
时,您总是从window.event
中选择srcElement
-最有可能的情况是,您需要在FF6中使用window.event.target
,那么您为什么要将其标记为已接受?如果工作正常,请告诉我们您所做的工作。:)您给出的代码是正确的,但给出的解释是错误的