加载Jquery代码时没有触发

问题描述:

我在外部JS文件中链接到.net 1.1 webapp中的 usercontrol中的以下JQuery代码。加载Jquery代码时没有触发

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(); 
    });   

}); 
+0

您是否检查过错误日志? – 2009-08-04 05:36:20

+0

确保使用`$(document).ready()`。 http://docs.jquery.com/Events/ready – sepehr 2009-08-04 06:05:39

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

问题可能是DOM已更改为新的页面/窗口,而JQuery还不知道它。

当控制失去输入 聚焦和自获得焦点其值被修改的 change event

火灾。

您可能需要使用live event

绑定的处理程序,为目前所有的事件(如 点击) - 和未来 - 匹配的元素。

当您绑定“活动”事件时,它将绑定到页面上所有当前和将来的 元素(使用事件 委派)。例如,如果你的约束 现场点击所有的“礼”元素上 那么页面在 以后又增加了李 - 即点击事件 继续为新元素 工作(这不符合绑定的情况下其中 必须重新绑定所有新元素)。

你确定新的网页有jQuery脚本包含吗?

确保你使用:

$(document).ready(
); 

在你的整个代码块。单是美元通常不会做到这一点。