检测jquery easy ui combobox是否具有焦点

时间:2012-12-19 22:39:59

标签: jquery combobox jquery-easyui

假设我有一个像这样的jQuery EasyUI组合框:

<input class="easyui-combobox" id="combobox" data-options="
    valueField: 'label',
    textField: 'value',
    data: [{
        label: 'java',
        value: 'Java'
    },{
        label: 'perl',
        value: 'Perl'
    },{
        label: 'ruby',
        value: 'Ruby'
}]" />

如何在组合框有焦点时检测,然后相应地执行某些操作?

我试过像:

$('#combobox').focus(function(){
    alert('FOCUS');
});

var combobox_panel = $('#combobox').combobox('panel');

combobox_panel.focus(function(){
    alert('FOCUS');
});

但这些都没有奏效。好吗?

谢谢

1 个答案:

答案 0 :(得分:0)

这是因为原始输入被破坏并被新的“假”输入取代以使其漂亮。您可以尝试在元素上一起查找combo-text validatebox-text类并绑定到该元素。

$('.combo-text.validatebox-text').on('focus', function() {
    alert('here'); // warning, for some reason I keep alerting.
});

这不完美,但这是一个开始。检查Chrome或FF中的输入元素,您将看到库如何构建新输入。

修改

阅读完评论后,您只需要知道用户何时选择了一个值。

$('.combobox-item').on('click', function() {
    alert(this.textContent);
});