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 に答える