Evento é um objeto que vem com o IE, mas esse objeto não existe no FF. Eventos só podem ser simulados passando parâmetros.
Além disso, srcElement é usado no IE para obter a origem do gatilho do evento, e target é usado no FF. Portanto, a compatibilidade relevante do navegador precisa ser feita ao usar esses dois objetos.
Copie o código do código da seguinte forma:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<cabeça>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>srcElement --//www.VeVB.COm/</title>
<script type="texto/javascript">
<!--
função Clique(evento){
evento = evento? evento: janela.evento
var obj = evento.srcElement?event.srcElement:event.target;
alerta(obj.tagNome);
}
//-->
</script>
</head>
<corpo>
<button id="btn" onclick="Click(event)">Clique</button>
</body>
</html>
Ver resultados em execução
Abrangente de attachmentEvent e addEventListener na seção anterior.
Copie o código do código da seguinte forma:
<script type="texto/javascript">
<!
função Clique(evento){
evento = evento? evento: janela.event;
var obj = evento.srcElement?event.srcElement:event.target;
alert("eventObj.tabName:" + obj.tagName);
}
var oBtnNovo;
janela.onload=função(){
oBtnNew=document.getElementById("btnNew");
if(window.attachEvent){
oBtnNew.attachEvent("onclick",handler);
oBtnNew.attachEvent("onmouseover",handler);
}outro{
oBtnNew.addEventListener("clique",hanlder,falso);
oBtnNew.addEventListener("mouseover",hanlder,false);
}
/*Ou use o seguinte teste
oBtnNew.onclick=handler;
oBtnNew.onmouseover=handler;*/
}
manipulador de função(evento){
evento=evento?evento:janela.evento;
if(event.type=="clique")
oBtnNew.innerHTML="ocorreu evento onclick";
senão if(event.type=="mouseover")
oBtnNew.innerHTML="ocorreu evento onmouseover";
}
//>
</script>
</head>
<corpo>
<button id="btn" onclick="Click(event)">Clique</button>
<button id="btnNew">Adicionar clique de evento</button>