当点击相应的重命名按钮时,我正在尝试将焦点放在下拉列表中项目的input元素上。我已经尝试了jQuery .focus() function,但组合框只是关闭而没有实际将焦点放在文本输入框中。
我开始怀疑在这种情况下是否允许用户输入文本输入框。
感谢您提供的任何帮助!
此处代码:http://jsfiddle.net/MattDietrich/DfxBD/
$('.licenseHoverButton.rename').on('click', function(e) {
e.stopPropagation(); // prevents combobox from closing
var input_elem = $(this).siblings('.licenseName');
alert('Rename: ' + input_elem.val());
/*
Make input_elem have focus so that the user can type a new name.
The combobox must remain open.
ie. input_elem.focus();
*/
});
编辑:澄清示例
这是一个小提琴,通过与复选框对比来演示我的问题:http://jsfiddle.net/MattDietrich/cWLQy/
如何关注(和编辑)文本框?
答案 0 :(得分:1)
目前不支持此行为,但根据我使用Telerik控件的经验,有许多内容不受支持但非常需要。通常希望行为可以通过各种技巧和黑客来实现,这种情况也不例外。
我编写了一个通用修复程序,可以将任何元素聚焦在:
中var _ignoreClose = false;
var funcClose = combobox.close;
combobox.close = function(){
if (_ignoreClose) return;
funcClose.call(combobox);
};
combobox.input.focusout(function(){
_ignoreClose = true;
setTimeout(function(){
_ignoreClose = false;
});
});
// set our handler as most priority
var evt = $._data(combobox.input[0]).events['focusout'];
evt.splice(evt.delegateCount, 0, evt.pop());
此外,如果您想在可点击的内容中创建元素:
combobox.list.off('mousedown');
答案 1 :(得分:0)
根据Telerik支持管理员,目前不支持此功能。如果/当我听说问题已得到修复时,我会更新此答案。