xyz.html
<p id = x ngClick = close($event)></p>
<p id = y ngClick = close($event)></p>
<p id = z ngClick = close($event)></p>
<h1 id = a ngClick = close()></h1>
xyz.js
function close(event)
if (event.target.id === x){
....
}else if(event.target.id === y){
....
}else if(event.target.id === z){
.....
}
此函数用于关闭当前窗口并检查事件,但是当我没有在其他关闭方法(h1标记)中传递此事件时,我发现事件是未定义的错误。< / p>
答案 0 :(得分:2)
错误是正确的。您需要首先检查是否定义了事件,因为如果事件未定义,您无法直接访问目标属性。
function close(event)
if(event){
if (event.target.id === x){
....
}else if(event.target.id === y){
....
}else if(event.target.id === z){
.....
}
}else{
//H1 click condition
}
}
答案 1 :(得分:1)
function close(event){
if(event===undefined){
//H1 got clicked
return;
}
if (event.target.id === x){
....
}else if(event.target.id === y){
....
}else if(event.target.id === z){
.....
}
}
答案 2 :(得分:0)
试试这个:
$scope.close = function(event) {
if (!event) return;
switch (event.target.id) {
case "x":
...
break;
case "y":
...
break;
case "z":
...
break;
default:
...
break;
}
}