我有一個帶有Telerik RadEditor(富文本框)的ASP.NET頁面。當通過頁面切換時,當用戶進入文本框時,焦點在進入textarea之前被設置爲各種工具欄圖標。我加了一些jQuery的一個頁面設置窗體上按Tab鍵出來的最後一個單元格的時候將重點放在文本區域:檢測某個元素何時要獲得焦點
$('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
單元格時才設置焦點。我希望能夠在用戶選中工具欄項目時將焦點設置到文本區域。
有什麼方法可以檢測到什麼時候一個元素是即將獲得的重點?我知道我可以看到一個元素的焦點是,但我想不出一種實現此功能的方法。
感謝
解決方案:
如果任何人在未來有同樣的問題,並希望有一個例子,這裏是我使用的代碼:
$(document).ready(function() {
$('.reToolCell').focusin(function() {
var editor = $('body').find("<%=RadEditor1.ClientID%>");
editor.setFocus();
});
});
爲什麼不設置重點是什麼? – Dom 2013-03-21 20:10:35
你可以使用JQuery的「綁定」或「on」方法將此特定代碼綁定到所有輸入[type = text]元素 – rnirnber 2013-03-21 20:16:12
@rnirnber我認爲使用'on'可以工作。 ('.reToolCell')獲得焦點時,我可以做這樣的事情來轉移焦點嗎?:'('focus',function(){var editor = $(this) .find(「<%= RadEditor1.ClientID%>」); editor.setFocus();});' – 2013-03-21 20:29:11