Ich versuche diesen Code zu verstehen, aber es ergibt keinen Sinn. Wenn die Schaltfläche #open_help
angeklickt wird, ruft er die handleOpen()
an, die showHelp()
aufruft, die die jQuery-Funktion aufruft, um das Hilfe-div anzuzeigen, aber wenn Sie unten sehen, dass er einen Ereignis-Listener hinzufügt und löscht, ruft er auch hideHelp()
. Warum macht er das?Code in EventListener wird nicht sofort aufgerufen?
Macht er das nur, um hideHelp einzukapseln, damit es auf den Klick auf die Schaltfläche warten würde?
// listen to "help" button
$('#open_help').bind("click",handleOpenHelp);
function handleOpenHelp(evt) {
if (!$("#help").is(":visible")) {
evt.preventDefault();
evt.stopPropagation();
showHelp();
}
}
function showHelp() {
$("#help").show();
document.addEventListener("click",function __handler__(evt){
evt.preventDefault();
evt.stopPropagation();
evt.stopImmediatePropagation();
document.removeEventListener("click",__handler__,true);
hideHelp();
},true);
}
function hideHelp() {
$("#help").hide();
}