`
guangjeson
  • 浏览: 5897 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[Ajax]Microsoft AJAX Library Cheat Sheet

    博客分类:
  • Ajax
阅读更多

Microsoft AJAX Library Cheat Sheet ——ASP.NET AJAX客户端框架的快速参考系
注:标注有[S]的为静态方法,无须实例化对象即可使用。

1.   Array


[S] Array.add (array, item)

添加一项至Array的结尾。

var a = ['a','b','c','d'];

Array.add(a, 'e');

// a = ['a','b','c','d','e']



[S] Array.addRange (array, items)

将items中的项依次添加到Array的结尾。

var a = ['a', 'b', 'c', 'd', 'e'];

var b = ['f', 'g','h'];

Array.addRange(a, b);

// a = ['a','b','c','d','e','f','g','h']



[S] Array.clear (array)

清除该Array中的所有项。



[S] Array.clone (array)

返回该Array的浅拷贝(Shallow Copy)。

注意:浅拷贝只包含原Array中的项,无论是引用类型还是值类型。但浅拷贝并不会复制被引用的对象,新的Array和原Array中的某个元素引用的是同一个对象的实例。

var a = ['a','b','c','d'];

var b = Array.clone(a);

// b = ['a','b','c','d']



[S] Array.contains (array, item)

判断指定的项是否包含在该Array中。

var a = ['red','green','blue','yellow'];

var b = Array.contains(a, "red");

// b = true



[S] Array.dequeue (array)

从原Array中删除第一项,并返回该项。

var myArray = [],result = "";

Array.add(myArray, 'a');

Array.add(myArray, 'b');

Array.add(myArray, 'c');

Array.add(myArray, 'd');

result = Array.dequeue(myArray);

// myArray = ['b','c', 'd'], result = 'a'



[S] Array.forEach (array, method, context)

依次访问该Array中的每一项,但跳过值为undefined的项。

var a = ['a', 'b', 'c', 'd'];

a[5] = 'e';

var result = '';

function appendToString(arrayElement, index, array) {

    // "this" is the context parameter, i.e. '|'.

    result += arrayElement + this + index + ',';

}

Array.forEach(a, appendToString, '|');

// result = a|0,b|1,c|2,d|3,e|4,



[S] Array.indexOf (array, item, start)

在Array中搜索某一项,并返回其在该Array中的索引。若该Array中不包含该项,则返回-1。

var a = ['red', 'blue', 'green', 'blue'];

var myFirstIndex = Array.indexOf(a, "blue");

var mySecondIndex = Array.indexOf (a, "blue", (myFirstIndex + 1));

// myFirstIndex = 1, mySecondIndex = 3



[S] Array.insert (array, index, item)

在Array中的某一位置插入新项。

var a = ['a', 'b', 'd', 'e'];

Array.insert(a, 2, 'c');

// a = ['a','b','c','d','e']



[S] Array.parse (value)

从字符串表达方式解析出真正的Array对象。

var a = Array.parse ("['red', 'blue', 'green']");

// a[0] = 'red', a[1] = 'blue', a[2] = 'green'



[S] Array.enqueue (array, item)

添加一项至Array的结尾。请同时参考Array.dequeue (array)。



[S] Array.remove(array, item)

从该Array中移除(第一次出现的)该项。

var a = ['a', 'b', 'c', 'd', 'e'];

Array.remove(a, 'c');

// a = ['a','b','d','e']

Array.removeAt(a, 2);

// a = ['a','b','e']



[S] Array.removeAt(array, index)

从该Array中移除指定索引位置上的项。





2.   Boolean
[S] Boolean.parse (value )

从字符串表示的布尔值解析成相应的Boolean类型。value参数必须为“true”或“false”二者之一,不区分大小写,且可以包含空格。

var b = Boolean.parse("true");



3.   Date


Date.format (format)

格式化字符串(区域设定无关)。

var d = new Date();

Sys.Debug.trace (d.format("dddd, dd MMMM yyyy HH:mm:ss"));



Date.localeFormat (format)

格式化字符串(区域设定相关)。使用Sys.CultureInfo.CurrentCulture得到区域属性。

var d = new Date();

Sys.Debug.trace (d.localeFormat("dddd, dd MMMM yyyy HH:mm:ss"));



[S] Date.parseLocale (value, formats)

从字符串表示的本地时间日期解析成相应的Date类型。使用Sys.CultureInfo.CurrentCulture得到区域属性。

Sys.Debug.trace (Date.parseLocale ("4/10/2001", "yyyy-MM-dd",

"MM/dd/yyyy"));

// Date.parseLocale will skip the first format here as invalid and use

// the second one. If it does not find an appropriate format,

// the function throws an exception.



[S] Date.parseInvariant (value, formats)

从字符串表示的区域无关时间日期解析成相应的Date类型。

Sys.Debug.trace (Date.parseInvariant ("4/10/2001", "yyyy-MM-dd",

"MM/dd/yyyy"));

// Date.parseInvariant will skip the first format here as invalid and use

// the second one. If it does not find an appropriate format,

// the function throws an exception.



支持的格式



1.    d: 缩写日期(e.g.: 02/17/2007):

2.    D: 完整日期(e.g: Saturday, 17 February 2007)

3.    t: 缩写时间(e.g.: 22:10)

4.    T: 完整时间(e.g.: 22:10:30)

5.    F: 完整时间日期(e.g.: Saturday, 17 February 2007 22:10:30)

6.    m (or M): 月和日(e.g.: February 17)

7.    s: 可排序的时间日期(e.g.: 2007-02-17T22:10:30)

8.    y (or Y): 年和月(e.g.: 2007 February)



4.   DomElement类


[S] getElementById (id, element)

在element所包含的元素中搜索特定id的元素,若不指定element,则默认为document。

var article = Sys.UI.DomElement.getElementById('article');

var heading = Sys.UI.DomElement.getElementById('heading', article)

// Note: 'article' is an instance of Sys.UI.DomElement

var btn = Sys.UI.DomElement.getElementById('<%= Submit.ClientID %>');

// Note: 'Submit' is an ASP.NET Button server control



[S] $get (id, element)

Sys.UI.DomElement.getElementById的简写形式。

var article = $get('article');

var heading = $get('heading', article)

// Note: 'article' is an instance of Sys.UI.DomElement

var btn = $get('<%= Submit.ClientID %>');

// Note: 'Submit' is an ASP.NET Button server control



[S] addCssClass (element, className)

将指定的CSS Class应用至该元素。

Sys.UI.DomElement.addCssClass($get('heading'), 'highlight');



[S] containsCssClass (element, className)

判断该元素是否应用了指定的CSS Class。

var heading = $get('heading', article)

var isHighlighted = Sys.UI.DomElement.containsCssClass(heading, 'highlight');



[S] removeCssClass (element, className)

从该元素中移除指定的CSS Class。

var heading = $get('heading', article)

Sys.UI.DomElement. removeCssClass (heading, 'highlight');



[S] toggleCssClass (element, className)

若元素已经应用了该CSS Class,则将其移除;否则添加。

var heading = $get('heading', article)

var isHighlighted = Sys.UI.DomElement.toggleCssClass(heading, 'highlight');



[S] getLocation (element)

取得元素相对于浏览器左上角的绝对位置,滚动出页面可见区域之外的距离也计算在内。

var article = $get('article');

var position = Sys.UI.DomElement.getLocation(article);

var x = position.x, y = position.y;



[S] setLocation (element, x, y)

设定元素相对于其定位元素左上角的位置。定位元素是指元素最近的应用了position(非static值)的祖先元素。

var menu = $get('menu');

Sys.UI.DomElement.setLocation(menu, 200, 50);



[S] getBounds (element)

取得元素的绝对位置以及其长宽,返回值对象包括如下几个属性:

1.    x, y:取得元素相对于浏览器左上角的绝对位置,与Sys.UI.DomElement.getLocation()一样。

2.    width:元素的宽度,包括border、padding以及滚动部分。

3.    height:元素的高度,包括border、padding以及滚动部分。

var article = $get('article');

var bounds = Sys.UI.DomElement.getBounds (article);

Sys.Debug.traceDump (bounds, 'Article position and size');

/*

Article position and size {Sys.UI.Bounds}

x: 50

y: 200

height: 268

width: 368

*/

注意到其中宽度和高度均包含border、padding以及滚动部分。所以对于一个300 * 200像素、20像素border、14像素padding的元素来说,其“宽度”和“高度”将为368 * 268像素。

         



5.   DomEvent类


[S] addHandler (element, eventName, handler)
[S] $addHandler (element, eventName, handler)

为DOM元素添加某一事件的处理函数,事件名称应去掉“on”前缀。

注意:在事件处理函数中,this指向的是element,而不一定是发出该事件的元素。

Sys.UI.DomEvent.addHandler (element, "click", clickHandler);

// Same as $addHandler (element, "click", clickHandler);

function clickHandler (e) { … }



[S] addHandlers (element, events, handlerOwner)
[S] $addHandlers (element, events, handlerOwner)

为DOM元素添加多个事件处理函数,events是一个事件处理函数的字典。

注意:在事件处理函数中,若指定了handlerOwner,那么this将指向该handlerOwner,否则将指向element。

$addHandlers ($get ("article"), {

    mouseover: onMouseOver,

    mouseout: onMouseOut

});

function onMouseOver (e) { this.style.backgroundColor = 'yellow'; }

function onMouseOut (e) { this.style.backgroundColor = 'white'; }



[S] clearHandlers (element)
[S] $clearHandlers (element)

移除指定DOM元素所有的事件处理函数。

Sys.UI.DomEvent.clearHandlers (element);

// Same as $ clearHandlers (element);



[S] removeHandler (element, eventName, handler)
[S] $removeHandler (element, eventName, handler)

为DOM元素移除指定的事件处理函数。

Sys.UI.DomEvent.removeHandler (element, "click", clickHandler);

// Same as $removeHandler (element, "click", clickHandler);



preventDefault ()

阻止执行默认的事件处理函数。例如若阻止了a元素的onclick事件,那么将不会引发页面导航。

$addHandler ($get ("showMoreLink"), "click", showMore);

function showMore (e) { e.preventDefault (); }



stopPropagation ()

阻止事件冒泡传递至父元素。



Event对象的属性

1.    altKey:判断触发事件时Alt键是否被按下。

2.    button:得到触发事件的鼠标按键。可选值为Sys.UI.MouseButton枚举(leftButton、middleButton和rightButton)。

3.    charCode:得到触发事件时的键盘按键代码。可以为Sys.UI.Key枚举(backspace, tab, enter,esc, space, pageUp, pageDown, end, home, left, up, right, down, del)。

4.    clientX:鼠标指针相对于文档可见区域的X坐标。

5.    clientY:鼠标指针相对于文档可见区域的Y坐标。

6.    ctrlKey:判断触发事件时Ctrl键是否被按下。

7.    offsetX:鼠标指针相对于触发事件元素左侧边缘的偏移位置。

8.    offsetY:鼠标指针相对于触发事件元素上边缘的偏移位置。

9.    rawEvent:原始的DOM事件。

10.  screenX:鼠标指针相对于浏览者屏幕的X坐标。

11.  screenY:鼠标指针相对于浏览者屏幕的Y坐标。

12.  shiftKey:判断触发事件时Shift键是否被按下。

13.  target:触发事件的对象。

14.  type:事件名称(例如“click”)。



6.   Number
Number.format (format)

用指定的format格式化数字(区域设定无关)。



Number.localeFormat (format)

用指定的format格式化数字(区域设定相关)。



支持的格式

1.    p:将数字转为百分比字符串(e.g.: -1,234.56 %)

2.    d:将数字装化为十进制字符串,没有逗号分隔符(e.g.: -1234.56)

3.    c:将数字转化为货币金额形式(e.g.: (¤1,234.56))

4.    n:将数字串化为逗号三位分隔(-d,ddd,ddd.ddd…")形式(e.g.: -1,234.56)



[S] Number.parseLocale (value)

从字符串表示的本地数字解析成相应的Number类型。使用Sys.CultureInfo.CurrentCulture得到当前的区域属性。



[S] Number.parseInvariant (value)

从字符串表示的本地数字解析成相应的浮点数Number类型。value中可以包含逗号分隔符(,)或是正负(+-)号。

var a = new Number();

a = Number.parseInvariant("4");

var b = new Number(2);

var c = Number.parseInvariant("1.53") + a + b;

// c = 7.53



7.   Error
Error相关的方法

1.    [S] Error.argument:根据指定的异常信息和非法的参数创建一个Sys.ArgumentException类型的异常。

2.    [S] Error.argumentNull:根据指定的异常信息和为Null的参数创建一个Sys.ArgumentNullException 类型的异常。

3.    [S] Error.argumentType:根据指定的异常信息、期待参数类型和实际参数类型创建一个Sys.ArgumentTypeException 类型的异常。

4.    [S] Error.argumentUndefined:根据指定的异常信息和为定义的参数创建一个Sys.ArgumentUndefinedException类型的异常。

5.    [S] Error.create:根据指定的异常信息创建一个Error对象。

6.    [S] Error.invalidOperation:根据指定的异常信息和引发该异常的参数创建一个Sys.InvalidOperationException 类型的异常。

7.    [S] Error.notImplemented:根据指定的异常信息创建一个Sys.NotImplementedException类型的异常。

8.    [S] Error.argumentOutOfRange:根据指定的异常信息和引发该异常的参数创建一个Sys.ArgumentOutOfRangeException类型的异常。

9.    [S] Error.parameterCount:根据指定的异常信息创建一个Sys.ParameterCountException 类型的异常。

10.  Error.popstackFrame:将该Error实例的fileName和lineNumber字段更新为该Error被掷出时的位置,而不是该Error被创建时的位置。

// Throw a standard exception type

var err = Error.argumentNull("input", "A parameter was undefined.");

throw err;

// Throw a generic error with a message and associated errorInfo object.

var errorInfoObj = { name: "SomeNamespace.SomeExceptionName",

someErrorID: "436" };

var err = Error.create("A test message", errorInfoObj);

throw err;





8.   String


String.endsWith (suffix)

判断该String是否以指定的后缀结束。

var isTxt = myString.endsWith ("some_file.txt", ".txt");
// isTxt = true


[S] String.format (format, args)

将该String中的各个格式化项用相应的参数值替代。args可以为单一的Object,或是一个包含多个项的Array。

var user = {
    FirstName: 'John',
    LastName : 'Doe',
    DOB: new Date (1975, 1, 17) };
var label = String.format ("User name: {0} {1}, born {2:d}",
    user.FirstName, user.LastName, user.DOB));
// label = "User name: John Doe, born 02/17/1975"


[S] String.localeFormat (format, args)

功能与String.format (format, args)类似,不过格式化时与区域设定相关。



String.startsWith (prefix)

判断该String是否以指定的前缀开始。请参考String.endsWith (suffix)。



String.trim ()

返回一个原String的拷贝,但将原String开头和结尾部分的所有空白字符(例如空格或Tab)都移除。

var myString = "   A string   ";
myString = myString.trim();
// myString = "A string"


String.trimEnd ()

返回一个原String的拷贝,但将原String结尾部分的所有空白字符(例如空格或Tab)都移除。

var myString = "A string   ";
myString = myString.trim();
// myString = "A string"


String.trimStart ()

返回一个原String的拷贝,但将原String开头部分的所有空白字符(例如空格或Tab)都移除。

var myString = "   A string";
myString = myString.trim();
// myString = "A string"




9.   Object


[S] Object.getType (instance)

返回指定对象的类型,请参考Object.getTypeName (instance)。



[S] Object.getTypeName (instance)

返回一个表示对象在运行时的完全限定类型的字符串。

Type.registerNamespace("Samples");
// Define and register a Samples.Rectangle class.
Samples.Rectangle = function(width, height) {
    this._width = width;
    this._height = height;
}
Samples.Rectangle.registerClass("Samples.Rectangle");
var a = new Samples.Rectangle(200, 100);
var name = Object.getTypeName(a);
var type = Object.getType (a);
Sys.Debug.trace ("The type name of object \"a\" is: " + name);
Sys.Debug.traceDump (type);
/* The result is:
    The type name of object "a" is: Samples.Rectangle
    traceDump {Function}
    prototype {Samples.Rectangle}
        __typeName: Samples.Rectangle
        __class: true
*/

 

分享到:
评论

相关推荐

    MicroSoft Ajax Library Cheat

    MS Ajax Array extensions.pdf MS Ajax Client Life-Cycle Events.pdf MS Ajax Date and Boolean extensions.pdf MS Ajax DomElement class.pdf MS Ajax Number and Error extensions.pdf MS Ajax DomEvent class....

    CheatSheet for Mac

    "CheatSheet for Mac"就是一款专为Mac用户设计的快捷键查看工具,它能够帮助用户快速了解并记忆系统及应用中的快捷键组合,提升操作效率。这款软件的版本号是1.0.1,且提供免费下载,使得更多用户得以轻松享受便捷的...

    cheatsheet for mac

    标题中的“cheatsheet for mac”指的是Mac操作系统中的一种实用工具,它可以帮助用户快速了解并记忆各种应用程序的快捷键。快捷键是提高工作效率的关键,尤其是在使用计算机时,熟练掌握快捷键能够大大提升工作速度...

    The AJAX CheatSheet

    综上所述,"The AJAX CheatSheet"是一个用于快速查询AJAX相关属性和用法的参考指南,可能包含常见的AJAX方法、属性及其使用示例。PNG文件形式使得它易于查看和分享,对于开发者来说是一个便捷的工具。在实际开发中,...

    CheatSheet_1.2.9 for MacOS

    《CheatSheet_1.2.9 for MacOS:掌握Mac系统的高效快捷键操作》 在数字化办公的时代,熟练掌握计算机快捷键是提升工作效率的关键。针对Mac操作系统,有一款名为"CheatSheet"的实用工具,其版本1.2.9特别为Mac用户...

    CheatSheet_1.2.7 最新中文版

    标题中的"CheatSheet_1.2.7 最新中文版"指的是CheatSheet这款软件的最新版本1.2.7,它是一款专为Mac操作系统设计的实用工具。CheatSheet的主要功能是帮助用户快速掌握并记忆各种应用程序的快捷键,从而提高在Mac系统...

    CheatSheet_1.3.1

    《CheatSheet_1.3.1:提升软件使用效率的快捷键指南》 在数字化时代,高效使用各种软件已经成为日常工作中不可或缺的技能。而掌握软件的快捷键,无疑是提升工作效率的一大法宝。CheatSheet_1.3.1,这款实用工具,...

    opencv_cheatsheet

    opencv_cheatsheet

    conda cheat sheet v4.6.zip

    conda cheat sheet,4.6.1 版本。有了这份 conda cheat sheet 再配合 help 命令,基本能解决 conda 使用中的大部分问题。这份 cheat sheet 从官网搬运,上传到 CSDN 资源主要是为了网络环境不太理想的 Python 学习者...

    CheatSheet.app.zip

    用户只需将“CheatSheet.app.zip”解压,然后将生成的“CheatSheet.app”拖到系统的/Applications目录下,便可以启动并使用这个快捷键工具。 CheatSheet的出现,为Mac用户带来了一种全新的快捷键学习和使用体验。它...

    clojure-cheatsheet, 用于Emacs的Clojure Cheatsheet.zip

    clojure-cheatsheet, 用于Emacs的Clojure Cheatsheet 用于Emacs的难以置信方便的 Clojure Cheatsheet,更新为 Clojure,打包成简单,快速,可以搜索的离线形式: 状态准备使用基于 Clojure 1.7.0.安装如果你连接到 ...

    x86 assembly cheatsheet

    x86 assembly cheatsheet

    css-cheat-sheet

    css-cheat-sheet,css-cheat-sheet,css-cheat-sheet

    Python 3 Cheat Sheet

    Python 3 Cheat Sheet 2012-2013 - Laurent Pointal Mémento v1.2.1bis Official Python documentation on http://docs.python.o

    CheatSheet_1.3.4.zip

    CheatSheet for Mac是专门用来查看应用程序快捷键的工具,安装好cheatsheet软件后,在软件界面长按Command键即可快速查看快捷键列表,非常的便捷,想要了解更多关于软件的快捷键,那就赶紧试试cheatsheet for mac吧...

    markdown-cheatsheet, 用于 Github README.md的Markdown Cheatsheet.zip

    markdown-cheatsheet, 用于 Github README.md的Markdown Cheatsheet Markdown Heading HeadingMarkup : # Heading 1 #-OR-Markup : ============= (below H1 text)标题 2Mark

    Machine Learning Super VIP Cheatsheet

    Machine Learning Super VIP Cheatsheet

    acm-cheat-sheet, Acm Cheat Sheet.zip

    "acm-cheat-sheet" 是一份专门为ACM竞赛准备的速查表,它包含了大量关键知识点,帮助参赛者快速回顾和应用各种编程技巧。 速查表通常涵盖以下几个核心领域: 1. **基础算法**:包括排序(快速排序、归并排序、堆...

    R cheatsheet advanced

    为了提高工作效率和编写更流畅的代码,开发者们常常会使用一些快捷方式或者技巧,这些内容被整理成“cheatsheet”(速查表),以供快速查阅和参考。这次我们讨论的“R cheatsheet advanced”涉及到在使用R语言进行...

Global site tag (gtag.js) - Google Analytics