Kann nicht konzentrieren, Eingabefeld, in das DOM geladen mit ajax-call

Habe ich verrückt gegangen, um herauszufinden, wie diese Arbeit zu machen. Code sieht in etwa wie:

function onDropDownChanged() {
  $("#updatePanel").load(
    "myUrl",
    { id: $("#myDropDown option:selected").val() },
    onPanelLoaded
  );
}
function onPanelLoaded() {
  $("#theTextInput").focus();
}
$(document).ready(function() {
  $("#myDropDown").change(onDropDownChanged);
}

Ersten mal den ändern-handler ausgelöst wird, macht es den ajax-update, und das Textfeld fokussiert ist.

Jedoch auf spätere änderungen, es weiterhin zu tun, die ajax-update, aber das Textfeld ist noch nie konzentrierte sich wieder.

Fand ich, dass, wenn in onDropDownChanged ich Hinzugefügt $("#updatePanel").empty() vor dem ajax-Aufruf, wird das Textfeld würden immer konzentriert. Das problem mit diesem ist die gesamte form verschwindet für eine Sekunde, wodurch eine hässliche flash. Angesichts ajax soll, um Dinge wie diese schön, es ist nicht ein workaround, den ich nutzen möchte.

  • Könntest du posten das bisschen HTML, das Sie die Schauspielerei auf, als auch, was HTML geladen wird, die durch den ajax-call?
InformationsquelleAutor jessicah | 2009-04-20
Schreibe einen Kommentar