Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firefox 6的Event.target问题_Javascript_Javascript Events - Fatal编程技术网

Javascript Firefox 6的Event.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 {

在Firefox6中,我试图获取发生事件的目标元素,但它没有显示任何元素,并且在alert中显示undefined。尝试使用firebug工具对其进行调试,发现事件对象缺少属性“target”。有人能帮我吗?我有下面的代码

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
,那么您为什么要将其标记为已接受?如果工作正常,请告诉我们您所做的工作。:)您给出的代码是正确的,但给出的解释是错误的