I am asking this question because I have an autocomplete text field with `#autocomplete_path` set to a valid working path but key events are not handled by the misc/autocomplete.js file. When the form is being created, it apparently assigns all the functions to the respective variables, but none of those functions are executed. For example following function in the misc/autocomplete.js isn't executed.

    Drupal.jsAC = function ($input, db) {
      var ac = this;
      this.input = $input[0];
      this.ariaLive = $('#' + this.input.id + '-autocomplete-aria-live');
      this.db = db;

      $input
        .keydown(function (event) { return ac.onkeydown(this, event); })
        .keyup(function (event) { ac.onkeyup(this, event); })
        .blur(function () { ac.hidePopup(); ac.db.cancel(); });

    };

Hence, when a user types a letter, _key up_ or _key down_ handlers aren't invoked and nothing happens. So to debug, I want to know how autocomplete works. 

Could someone please explain how this works?