ich einen versteckten Eingang mit meiner app mit ihm keybind aber ohne das Auslösen, wenn ich schreibe auf anderen EingabefeldernFokus Ereignis innerhalb einer Funktion nach einem Fokus Brennen
-clicks on element {
-hide element
-creates an input text-field(to edit the element)
-focus the input
- on blur or submit changes the element and remove the input
}
aber wenn Sie dieses Add neue Veranstaltung:
- click anywhere in the container {
-focus the hidden app input (so it can use keybinding)
}
, wenn der Benutzer auf das Element klickt beendet sie die Unschärfe Ereignis Brennen ohne den Benutzer zu bearbeiten lassen es zunächst, weil sein den zweiten Block Ereignis zu aktivieren. so ist es entweder den Fokus Teil des ersten Blocks oder der Fokus des zweiten Blocks nach dem Fokus auf dem ersten
aktivierend Überspringen ich vielleicht den falschen Ansatz es zu lösen, aber ich weiß nicht weiß, warum es sich so verhält.
eigentlichen Code:
$("#hiddenInput").focus()
var elem = $("#nameClip");
function evenConditional(id) {
if ($(id).val() !== "") {
elem.text($(id).val())
storedObj.name = $(id).val();
}
$(id).parent().remove();
elem.show();
}
$("#name").on("click", function() {
elem.hide();
elem.after(
$("<form/>").append(
$("<input/>").addClass("rename")
)
);
$(".rename").focus();
});
$(".rename").blur(function() {
evenConditional(this);
});
$(".rename").closest("form").on("submit", function(e) {
e.preventDefault();
evenConditional(this);
});
/// regaining focus on click
$(".container").on("click", function(e) {
$("#hiddenInput").focus()
});
css:
#hiddenInput {
position:absolute;
top: -2000;
}
Bitte zeigen Sie echten Code, nicht Pseudocode. Aber ich glaube nicht, dass Sie sich auf einen versteckten Input konzentrieren können. – Barmar