0

假设我有一个这样的 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');
});

但这些都不起作用。请问有什么想法吗?

谢谢

4

1 回答 1

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);
});
于 2012-12-19T23:49:54.047 回答