我有一个带有 Telerik RadEditor(富文本框)的 ASP.NET 页面。在页面中切换时,当用户进入文本框时,焦点会在进入文本区域之前设置为各种工具栏图标。我在一个页面上添加了一些 jQuery,以便在跳出表单上的最后一个单元格时将焦点设置在文本区域上:
$('input[type=text][id*=tbCost]').keydown(function (e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) { //If TAB key was pressed
e.preventDefault();
var editor = $('body').find("<%=RadEditor1.ClientID%>"); //get a reference to RadEditor client object
editor.setFocus(); //set the focus on the the editor
}
});
我正在寻找一种在控件中实现此功能的方法,以便无论它位于哪个页面上,它都能正常工作。例如,在上面的代码中,只有当用户跳出tbCost
单元格时才会设置焦点。当用户进入工具栏项目时,我希望能够将焦点设置到文本区域。
有什么方法可以检测元素何时将获得焦点?我知道我可以看到一个元素是否有 focus,但我想不出一种方法来实现这个功能。
谢谢
解决方案:
如果将来有人有同样的问题并想要一个例子,这是我使用的代码:
$(document).ready(function () {
$('.reToolCell').focusin(function () {
var editor = $('body').find("<%=RadEditor1.ClientID%>");
editor.setFocus();
});
});