加载时没有触发的Jquery代码

时间:2009-08-04 05:29:10

标签: asp.net jquery

我将以下JQuery代码链接到一个外部JS文件中 用户控制在.Net 1.1 webapp。

usercontrol是时间表。

当页面加载时,它调用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 :(得分:0)

没有看到更多代码,请确保选择器对于新页面中的控件是正确的。

问题可能是DOM已经针对新的页面/窗口进行了更改,而JQuery还不知道它。

change event

  当控件丢失输入时,

触发   焦点及其价值已被修改   自从获得关注。

您可能想要使用live event

  

将处理程序绑定到事件(如   点击)了解所有当前和未来 -   匹配元素。

     

当你绑定一个“实时”事件时,它会   绑定所有当前和未来   页面上的元素(使用事件   代表团)。例如,如果你绑定   实时点击所有“li”元素   页面然后在a处添加了另一个li   以后的时间 - 点击事件会   继续为新元素工作   (这不是绑定的情况   必须重新绑定所有新元素。)

答案 1 :(得分:0)

您确定新网页包含jQuery脚本吗?

答案 2 :(得分:0)

确保您正在使用:

$(document).ready(
);

围绕整个代码块。单独的$往往不能解决问题。