JQuery-код при загрузке не стреляет - PullRequest
0 голосов
/ 04 августа 2009

У меня есть следующий код JQuery во внешнем файле JS, связанный с usercontrol в .Net 1.1 webapp.

Пользовательский контроль - это расписание.

Когда страница загружается, она вызывает MonthChange и отлично работает на одной странице.

Но теперь я хочу загрузить расписание / пользовательский контроль в другое веб-страница, которая появляется в новом окне браузера для печати. ​​

Проблема в том, что мой MonthChange не запускается.

Есть идеи, почему ???

$(function() {

    MonthChange();
    //TestData();

    $('[class^=TSGridTB]').blur(function() {
        var day = GetDay($(this).attr('id'));
        var date = GetRowDate(day);
        var bgcolor = GetInputFieldColor(date, false);

        $(this).css("background-color", bgcolor);
        $(this).parent().css("background-color", bgcolor);
        //CalcHours($(this).get(0));
    });

    $('[class^=TSGridTB]').focus(function() {
        var day = GetDay($(this).attr('id'));
        var date = GetRowDate(day);
        var bgcolor = GetInputFieldColor(date, true);

        $(this).css("background-color", bgcolor);
        $(this).parent().css("background-color", bgcolor);
    });

    $('[id$=lstMonth]').change(function() {
        MonthChange();
    });         

});

Ответы [ 3 ]

0 голосов
/ 04 августа 2009

Убедитесь, что на новой веб-странице есть скрипт jQuery?

0 голосов
/ 04 августа 2009

убедитесь, что вы используете:

$(document).ready(
);

вокруг всего вашего блока кода. Один только $ часто не помогает.

0 голосов
/ 04 августа 2009

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

Возможно, проблема в том, что DOM изменился для новой страницы / окна, а JQuery еще не знает об этом.

Событие изменения

срабатывает, когда элемент управления теряет ввод фокус и его значение было изменено с момента получения фокуса.

Возможно, вы захотите использовать прямое событие :

Привязывает обработчик к событию (например, нажмите) для всех текущих и будущих - согласованный элемент.

Когда вы связываете «живое» событие, оно будет привязать ко всему настоящему и будущему элементы на странице (используя событие делегация). Например, если вы связаны живой щелчок ко всем элементам "li" на страница затем добавила еще один li на позднее время - это событие клика будет продолжать работать на новый элемент (это не тот случай, когда связывание необходимо повторно привязать ко всем новым элементам).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...