我试图了解模块的这一部分:
(isOwner
? canSort || (revert = !rootEl.contains(dragEl))
: (
putSortable === this ||
activeGroup.checkPull(this, activeSortable, dragEl, evt) && group.checkPut(this, activeSortable, dragEl, evt)
)
)
有人可以为我“解禁”这个吗?
这是IF语句的一部分,返回true / false。
答案 0 :(得分:2)
看起来像这样:
if (isOwner) {
if (canSort) {
return true;
} else {
return (revert = !rootEl.contains(dragEl));
}
} else {
if (putSortable === this) {
return true;
} else {
return activeGroup.checkPull(this, activeSortable, dragEl, evt) && group.checkPut(this, activeSortable, dragEl, evt);
}
}
答案 1 :(得分:1)
首先,请确保您了解ternary operator在JavaScript中的工作原理。
如果" isOwner"是的,它会归还:
canSort || (revert = !rootEl.contains(dragEl))
否则,它将返回:
putSortable === this ||
activeGroup.checkPull(this, activeSortable, dragEl, evt) && group.checkPut(this, activeSortable, dragEl, evt)
答案 2 :(得分:0)
根据代码,它看起来像是设置一个布尔值。如果你要扩展它,它看起来像这样:
var something;
if (isOwner) {
if (canSort != undefined && canSort !== 0) {
something = true;
}
else {
something = (revert = !rootEl.contains(dragEl));
}
}
else {
if (putSortable === this) {
something = true;
}
else {
something = (activeGroup.checkpull(this, activeSortable, dragEl, evt) && group.checkPut(this, activeSortable, dragEl, evt));
}
}