2009-08-04 119 views
0

我在外部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

回答

0

沒有看到進一步的代碼,請確保選擇器對於新頁面中的控件是正確的。

問題可能是DOM已更改爲新的頁面/窗口,而JQuery還不知道它。

當控制失去輸入 聚焦和自獲得焦點其值被修改的 change event

火災。

您可能需要使用live event

綁定的處理程序,爲目前所有的事件(如 點擊) - 和未來 - 匹配的元素。

當您綁定「活動」事件時,它將綁定到頁面上所有當前和將來的 元素(使用事件 委派)。例如,如果你的約束 現場點擊所有的「禮」元素上 那麼頁面在 以後又增加了李 - 即點擊事件 繼續爲新元素 工作(這不符合綁定的情況下其中 必須重新綁定所有新元素)。

0

你確定新的網頁有jQuery腳本包含嗎?

0

確保你使用:

$(document).ready(
); 

在你的整個代碼塊。單是美元通常不會做到這一點。

相關問題