ASP.Net Ajax工具箱客户端代码和javascript问题



我试图理解使用ASP的示例客户端代码。Net Ajax日历控件。下面是来自asp.net网站的示例代码。

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

从外观上看:

这部分代码确保日历脚本/根对象准备就绪

Sys.require(Sys.components.calendar
当它们准备好后,它调用匿名函数,该函数查找ID为bdate的项(html中的文本框),并使用calendar方法将日历显示功能附加到它上面。(可能会在文本框控件获得焦点时弹出一个日历)。calendar方法是由Sys.components.calendar对象注册的,基本上是一个扩展方法,可以在jquery选择器调用返回的文本框对象上调用。(例如$("#xyz"),其中#xyz表示html中某个id为'xyz'的元素)
function() {  
    $("#bdate").calendar({});  
}

这是一个匿名函数,也可以作为参数传递。因此,它基本上是require调用的第二个参数(有点像C/c++中的函数指针,但声明为内联)。此方法在日历对象/脚本全部加载并初始化后调用。

最后,{}部分意味着它将一个没有属性的空javascript对象传递给日历创建方法。该方法很可能以带有可选属性的javascript对象的形式接受许多可选参数,这里没有使用这些参数。

希望有帮助

1。只是调用默认的'calendar'创建函数,把它想象成一个构造函数。{}是一个定义JSON字符串的方法,通常在这里添加配置选项。如

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

2。是一种在Javascript中将函数作为对象或匿名函数传递的方法。它所说的是,对于'require'的第二个参数使用函数。这通常被称为回调函数,因为根据传递给它的方法,函数可以在原始方法完成/回调时执行。

在这个上下文中,定义的函数是一个jQuery调用,用于创建一个日历控件,所以在基本术语中,您可以想象它是这样写的:

要求(组件),然后一旦我们有了组件,调用函数'$("#bdate").calendar({});'

作为进一步的解释函数$("#bdate").calendar({});将在ID为bdate的元素上创建一个日历控件。

最新更新