第2行和第3行中代码的含义是什么? 我想了解它。感谢。
function stopRKey(evt) {
var evt = (evt) ? evt : ((event) ? event : null);
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
if ((evt.keyCode == 13) && (node.type=="text")) {
addItemToList();
return false;}
}
document.onkeypress = stopRKey;
答案 0 :(得分:0)
?:
是三元运营商。请查看here。
var a = (b === true) ? 1 : 0;
转换为
if (b === true)
var a = 1;
else
var a = 0;
var evt = (evt) ? evt : ((event) ? event : null);
表示如果evt
真实,var evt = evt
(不做任何更改)。
如果不是,(evt == null
,evt === false
等),如果event
是真实的,请将其指定给event
。否则将其分配给null
。
答案 1 :(得分:0)
var evt = (evt) ? evt : ((event) ? event : null);
以上意思是: 如果evt是真的,evt仍然是真的。否则,如果它是假的,那么检查事件是否为真。如果event为false,则将evt设置为event,将evt设置为null。
var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
上述方法 如果evt.target为true,则将node设置为evt.target else,如果为false,则检查evt.srcElement。如果为true,则将node设置为evt.srcElement,如果它为false,则将node设置为null
这种类型的代码使用三元运算符。