选择jQuery UI生成的输入元素焦点上的文本

Kyl*_*Mit 2 jquery jquery-ui autocomplete

我正在使用此处jQuery UI AutoComplete Combobox所示的选项.这将在您开始键入时立即开始过滤显示的结果,但如果已经选择了一个元素,则键入(不手动删除内容)将只附加到字符串上,通常不会找到任何内容.

我希望每当输入字段获得焦点时默认选择文本,但我很难确定将该逻辑添加到脚本中的位置.

这是一个关于这个例子的jsFiddle.

通常,要在接收焦点时选择输入元素中的文本,您可以执行以下操作,例如在 SO问题中:

//Select all text in Cost Rate Text Boxes when they have focus
$(document).ready(function () {
    $(".CostRateTextBox").live('mouseup', function () {
        $(this).select();
    });
});
Run Code Online (Sandbox Code Playgroud)

_createAutocomplete脚本中的函数是创建输入框的位置.是否可以在以下行附近执行此操作?

this.input = $("<input>")
Run Code Online (Sandbox Code Playgroud)

ade*_*neo 5

在创建输入时添加事件处理程序,就像这样(并且不要使用live()):

this.input = $("<input>")

          .appendTo(this.wrapper)
          .val(value)
          .attr("title", "")
          .addClass("custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-left")
          .autocomplete({
              delay: 0,
              minLength: 0,
              source: $.proxy(this, "_source")
          })
          .tooltip({
              tooltipClass: "ui-state-highlight"
          }).on('mouseup', function() {
              $(this).select();
          });
Run Code Online (Sandbox Code Playgroud)

小提琴

是的,你必须用它mouseup来使选择工作.