0

Telerik RadEditor (リッチ テキスト ボックス) を含む ASP.NET ページがあります。ページをタブで移動する場合、ユーザーがテキスト ボックスに到達すると、テキスト領域に移動する前に、さまざまなツールバー アイコンにフォーカスが設定されます。フォームの最後のセルからタブで移動するときにテキスト領域にフォーカスを設定するために、1 つのページに 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();
    });
});
4

2 に答える 2

2

ツールバー アイコンのフォーカスにバインドし、フォーカスをテキスト領域にリダイレクトすることを検討してください。ただし、ユーザーがこれらのツールを使用するためにタブにフォーカスしようとすると、意図しない副作用が生じる可能性があります。

于 2013-03-21T20:29:58.783 に答える
0
    //on focus eventHandler for all your icons that calls a function


  #('.elementtype, class or a generic way of identifying the icons'.onfocus(myFunction(this))

//関数は要素のパラメーターを受け取り、次の兄弟要素に移動してフォーカスを設定します

     myFunction = (element) {
       element.next().focus();
     }
于 2013-03-21T20:41:44.390 に答える