我不明白在下面的JavaScript代碼片段中每行代碼都在做什麼。據我所知,它正在閱讀該人是否進入或逃離。但我想知道第2,3,6,10,16和18行正在做什麼。JavaScript的這個片段在做什麼?
var okCancelEvents = function (selector, callbacks) {
var ok = callbacks.ok || function() {};
var cancel = callbacks.cancel || function() {};
var events = {};
events['keyup '+selector+', keydown '+selector+', focusout '+selector] =
function (evt) {
if (evt.type === "keydown" && evt.which === 27) {
// escape = cancel
cancel.call(this, evt);
} else if (evt.type === "keyup" && evt.which === 13) {
// blur/return/enter = ok/submit if non-empty
var value = String(evt.target.value || "");
if (value)
ok.call(this, value, evt);
else
cancel.call(this, evt);
}
};
return events;
};