输入字段中的退格键不会删除jquery ui小部件的文本

时间:2015-09-09 14:11:51

标签: javascript jquery html jquery-ui

好的,我一直在尝试构建一个基本的组合框小部件(一个隐藏的选择,一个输入字段和一个选项的div),它们会对某些事件做出反应,比如keypressed和focusin。现在我偶然发现了一个问题,我无法使用退格键删除输入中的字符。我可以用删除键删除,我可以用左右键左右移动,但退格不起作用。

以下代码显示了我的jquery ui小部件的

代码:

_create: function() {
        var self = this;
        this.currentComboContainer = $("<div class='currentComboBoxContainer' ></div>");
        this.select = this.element.hide();
        this.select.wrap(this.currentComboContainer);
        var selected = this.select.children(":selected"),
            value = selected.val() ? selected.text() : "";

        this.input = $("<input />");
        this.optionsDiv = $("<div></div>");

        this.input.insertAfter(this.select)
            .addClass("currentComboBox");

        this.optionsDiv.insertAfter(this.input)
            .addClass("currentComboBox");

        this.select.children().clone().appendTo(this.optionsDiv);

        this._on(".currentComboBoxOptionElement", {
            click: this._optionClick
        });

        //this.optionsDiv.delegate(".currentComboBox", "click", this._optionClick);

        this.input.val(value)
            .focusin(function() {
                self.optionsDiv.show();
            })
            .focusout(function() {
                self.optionsDiv.delay(200).hide(0);
            })
            .dblclick(function () {
                CCNet.UI.wait(true);
                var toId = self.input.val();
                self.input.blur();
                if(toId)
                    $.post(self.options.navigationAction + "?id=" + toId);
            })
            .keyup(function (keyevent) {
                /*if (keyevent.which === 13) {
                    CCNet.UI.wait(true);
                    var toId = self.input.val();
                    self.input.blur();
                    if(toId)
                        $.post(self.options.navigationAction + "?id=" + toId);
                }*/
            });

       var inputOffset = this.input.position();
       inputOffset.top += this.input.height() + 3;
       this.optionsDiv
            .css(inputOffset)
            .hide();
    }

感谢您对该主题的任何意见,谢谢

0 个答案:

没有答案