2011-04-21 59 views
2

我想了解使用ASP.Net Ajax的日曆控件的樣本客戶端代碼。這裏是來自asp.net網站的示例代碼。ASP.Net Ajax工具包客戶端代碼和JavaScript問題

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>Untitled Page</title> 
    <style type="text/css"> 
    </style> 
    <link href="http://ajax.microsoft.com/ajax/beta/0911/extended/Calendar/Calendar.css" rel="stylesheet" type="text/css" /> 
    <script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.js" type="text/javascript"></script>  
    <script src="http://ajax.microsoft.com/ajax/beta/0911/Start.debug.js" type="text/javascript"></script> 
    <script src="http://ajax.microsoft.com/ajax/beta/0911/extended/ExtendedControls.debug.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     Sys.debug = true; 
     Sys.require(Sys.components.calendar, function() { 
      $("#bdate").calendar({}); 
     }); 
    </script> 
</head> 
<body> 

    <div style="width:1px;height:500px"></div> 
    <input type="text" id="bdate" /> 


</body> 
</html> 

根據一些文件,以下行加載javascript文件Sys.require())

$("#bdate")用了jQuery找到ID爲 「bdate」 的對象。我不明白的休息,尤其是

  1. .calendar({}),尤其是({}),
  2. function()

任何幫助或暗示的讚賞!!!!

Sys.require(Sys.components.calendar, function() { 
    $("#bdate").calendar({}); 
}); 

回答

0

從外觀上來看:

行的這一部分確保日曆腳本/根對象是準備

Sys.require(Sys.components.calendar 

,當他們準備好了,它調用匿名函數,其中找到與ID bdate該項目時,(在html文本框),並附加日曆顯示功能,以將其與日曆方法。 (可能會在文本框控件獲得焦點時彈出日曆)。所述日曆方法由Sys.components.calendar對象註冊和基本上是可以對由jQuery選擇調用返回的文本框對象被稱爲擴展方法。 (例如$(「#XYZ」),其中#xyz在HTML表示元素ID爲「XYZ」的地方)

function() { 
    $("#bdate").calendar({}); 
} 

這是可以作爲一個放慢參數以及傳遞一個匿名函數。所以它基本上是要求調用的第二個參數(有點像C/C+++中的函數指針,但是內聯聲明)。當日歷對象/腳本全部加載並初始化時,將調用此方法。

最後,{}部分意味着它傳遞一個空javascript對象沒有屬性到日曆創建方法。該方法最有可能採用可選屬性的JavaScript對象形式的多個可選參數,這些參數都不在此處使用。

希望幫助

0

1.is只是調用默認的「日曆」創建功能,把它想象成一個構造函數。 {}是一種定義JSON字符串的方法,它通常是您添加配置選項的地方。例如。

calender({ 
     someOption: true, 
     someOtherOption: false, 
     height: 120px 
    }); 

2.Is一個的方式來傳遞函數,如在Javascript對象,或anonomous功能。所有的意思是,對於'require'的第二個參數使用該函數。這通常被稱爲回調函數,因爲根據函數傳入的方法,當源方法完成/回調時可以執行該函數。

在這種情況下,所定義的函數是一個jQuery調用來創建一個日曆控件,所以在基本的術語,你能想象它說是這樣的:

要求(組件),然後一旦我們有分量,調用函數'$(「#bdate」)。calendar({});'日曆({});函數$(「#bdate」)。calendar({});將在ID爲bddate的元素上創建日曆控件。

相關問題