Telerik Rad Combo Box и как снимать фокус - PullRequest
2 голосов
/ 09 февраля 2010

У меня есть два radcombobox на моей странице, и я контролирую их фокус с помощью jquery ... также у меня есть некоторый код на их OnClientFocus, поэтому фокус и размытие так важны ... мой код aspx и jquery выглядит так: (без RadComboBox -> OnClientFocus)

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm4.aspx.cs" Inherits="Darman.WebForm4" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title></title> 
        <script src="../JQuery/jquery-1.4.1.js" language="javascript" type="text/javascript"></script> 

    <script type="text/javascript"> 
        $(function() { 
        $('input[id$=RadComboBox1_Input]').focus(); 
        $('input[id$=RadComboBox1_Input]').select(); 
        $('input[id$=RadComboBox1_Input]').bind('keyup', function(e) { 
                var code = (e.keyCode ? e.keyCode : e.which); 
                if (code == 13) { 
                    $('input[id$=RadComboBox1_Input]').blur(); 
                    $('input[id$=RadComboBox2_Input').focus(); 
                    $('input[id$=RadComboBox2_Input]').select(); 
                } 
            }); 
            $('input[id$=RadComboBox2_Input]').bind('keyup', function(e) { 
                var code = (e.keyCode ? e.keyCode : e.which); 
                if (code == 38) { 
                    $('input[id$=RadComboBox2_Input]').blur(); 
                    $('input[id$=RadComboBox1_Input').focus(); 
                    $('input[id$=RadComboBox1_Input]').select(); 
                } 
            }); 
        }); 
            </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> 
    </telerik:RadScriptManager> 
    <div> 
        <telerik:RadComboBox ID="RadComboBox1" runat="server" Skin="Outlook"> 
            <Items> 
                <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem1"  
                    Value="RadComboBoxItem1" /> 
                <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem2"  
                    Value="RadComboBoxItem2" /> 
                <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem3"  
                    Value="RadComboBoxItem3" /> 
                <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem4"  
                    Value="RadComboBoxItem4" /> 
            </Items> 
        </telerik:RadComboBox> 
        <telerik:RadComboBox ID="RadComboBox2" runat="server" Skin="Office2007"> 
            <Items> 
                <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem1"  
                    Value="RadComboBoxItem1" /> 
                <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem2"  
                    Value="RadComboBoxItem2" /> 
                <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem3"  
                    Value="RadComboBoxItem3" /> 
                <telerik:RadComboBoxItem runat="server" Text="RadComboBoxItem4"  
                    Value="RadComboBoxItem4" /> 
            </Items> 
        </telerik:RadComboBox> 
    </div> 
    </form> 
</body> 
</html> 

кажется, что окно radcombo не может предугадать его фокус и придерживаться этого, поэтому, когда я играю с 2 кнопками (ввод = 13 и верхняя клавиша = 38, как вы видите в верхнем коде - Jquery) Для изменения их фокуса так RadComboBox OnClientFocus не срабатывает, пока я не нажму на мою страницу и снова не нажму на RadComboBox ...

Эти строки не работают:

1 - $ ( 'вход [ID = $ RadComboBox1_Input]') размытие ();.

2 - $ ( 'вход [ID = $ RadComboBox2_Input]') размытие ();

.

как я могу снять фокус с окна Radcombo, я уничтожаю его подсветку?

большое спасибо

1 Ответ

0 голосов
/ 21 октября 2010

лучший обходной путь, который я нашел, - это сосредоточиться на каком-то другом элементе управления.

, например

$('#someOtherElementId').focus();
...