Ok, ich bin wirklich sehr ratlos hier. Ich verbinde eine Funktion mit Keydown, aber sie wird nicht ausgelöst, wenn eine bestimmte Bedingung in zwei scheinbar nicht verwandten Teilen des Codes vorhanden ist.keydown event funktioniert nicht, wenn anderer Funktionscode vorhanden ist
html
<input id="enteredData" name="enteredData" />
<button id="submit-button">Submit</button>
keydown Funktion:
$(document).on("keydown", function(e) {
console.log("keydown")
if (!$("#enteredData").is(":focus")) {
$("#enteredData").focus();
}
});
hier sind die anderen scheinbar nicht miteinander verbundenen Teile des Codes
$(function() {
$("#submit-button").click(function(e) {
e.preventDefault();
console.log("submit")
if (!$("#enteredData").is(":disabled") {
// do something
}
});
});
function onAction(data) {
if (!$("#enteredData").is(":disabled") {
// do something
}
}
die gemeinsame ob Anweisung in ihnen? if (!$("#enteredData").is(":disabled")
. Wenn ich die If-Bedingung aus BEIDEN Code-Abschnitten entferne, funktioniert die Keydown-Funktion einwandfrei. Wirklich verloren hier.
Bitte aktualisieren Sie Ihre Frage mit einem ** runnable ** [mcve] mit Hilfe von Stack Snippets (der '[<>]' Werkzeugleiste), um das Problem zu demonstrieren. –
Fühlen Sie sich frei, um die Konsole für Javascript-Fehler zu überprüfen. – James
@ T.J.Crowder Ich habe Änderungen vorgenommen, ist das besser? – zero01alpha