$ (document) .ready (function () не работает идеально в Content Pages / Telerik Controls - PullRequest
4 голосов
/ 22 июля 2010

Страницы в моем проекте основаны на мастер-страницах и страницах с контентом ...

Я хочу сделать что-то с javascript (а не с jquery) на одной из страниц контента после ВСЕ ИЗ МАСТЕРА И СОДЕРЖАНИЯЭЛЕМЕНТЫ ПОГРУЖЕНЫ ПОЛНОСТЬЮ . (Например, установите фокус на элементе управления RadComboBox)

Для этого я использовал следующий код:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

    <script src="../JQuery/jquery-1.4.1.js" language="javascript" type="text/javascript"></script>


    <script type="text/javascript">

        onload = onloadOfDocument;

        function onloadOfDocument() {

            var combo = $find("<%= RadcbPersonelCompleteNameInvwNoskhehEdit.ClientID %>");
            alert(combo);
            var comboInput = combo.get_inputDomElement();
            comboInput.focus();
        }

    </script>
</asp:Content>

Но alert(combo); всегда возвращает ноль.(код $find предназначен для элементов управления telerik, а верхние коды элементов управления telerik полностью соответствуют действительности)

Чтобы решить эту проблему null, я проверяю приведенные ниже способы:

1-IУдалены все элементы управления со главной страницы и страницы содержимого, кроме RadComboBox Control и исчезла проблема с нулем, поэтому я получил нулевую проблему, когда все элементы главной страницы и страницы содержимого не были загружены, когда

$find("<%= RadcbPersonelCompleteNameInvwNoskhehEdit.ClientID %>");

запущен.

2 - поэтому я использовал

$(document).ready(function() { my codes });

вместо

onload = onloadOfDocument;

, нопроблема не решена - я не знаю почему !!!

3 - наконец-то я тестирую приведенный ниже код, и он отлично работает:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">

<script src="../JQuery/jquery-1.4.1.js" language="javascript" type="text/javascript"></script>


<script type="text/javascript">

    //onload = onloadOfDocument;
      document.onkeyup = onkeyupOfDocument;

    function onkeyupOfDocument() {

        var combo = $find("<%= RadcbPersonelCompleteNameInvwNoskhehEdit.ClientID %>");
        alert(combo);
        var comboInput = combo.get_inputDomElement();
        comboInput.focus();
    }

</script>

Какую функцию документа я должен использовать для выполнения некоторых кодов JavaScript после всего MASTERИ ЭЛЕМЕНТЫ СОДЕРЖАНИЯ загружены полностью ?

Спасибо в будущем заранее

Ответы [ 2 ]

1 голос
/ 15 мая 2011

приведенная ниже ссылка решила мою проблему: $ (document) .ready () и pageLoad () не совпадают!

мой ответ -> использование pageLoad () вместо $(документ) .ready ()

0 голосов
/ 22 июля 2010

Разве это не будет:

var combo=$("#<%= RadcbPersonelCompleteNameInvwNoskhehEdit.ClientID %>")[0];

?

(Предполагается, что RadcbPersonelCompleteNameInvwNoskhehEdit.ClientID разрешает атрибут id элемента в DOM)

...