jQuery: added typing for fn

This commit is contained in:
John Reilly
2014-01-17 09:27:10 +00:00
parent 02348d3eb0
commit daca31dc77
2 changed files with 56 additions and 4 deletions
+31
View File
@@ -2316,6 +2316,27 @@ function test_jQuery() {
});
}
function test_fn_extend() {
jQuery.fn.extend({
check: function () {
return this.each(function () {
this.checked = true;
});
},
uncheck: function () {
return this.each(function () {
this.checked = false;
});
}
});
// Use the newly created .check() method
//$( "input[type='checkbox']" ).check();
// The above test cannot be run as no way that I know of in TypeScript to model the augmentation of jQueryStatic with dynamically added methods
// The below would only work at runtime if extend had first been called.
$("input[type='checkbox']")["check"]();
}
function test_jquery() {
var a = <any>{ what: "A regular JS object" },
b = $('body');
@@ -2422,6 +2443,16 @@ function test_jquery() {
jQuery(function ($) {
// Your code using failsafe $ alias here...
});
$(document.body)
.click(function () {
$(document.body).append($("<div>"));
var n = $("div").length;
$("span").text("There are " + n + " divs." +
"Click to add more.");
})
// Trigger the click to start
.trigger("click");
}
function test_keydown() {
+25 -4
View File
@@ -778,12 +778,33 @@ interface JQueryStatic {
Event: JQueryEventConstructor;
// Internals
error(message: any): JQuery;
/**
* Takes a string and throws an exception containing it.
*
* @param message The message to send out.
*/
error(message: string): JQuery;
// Miscellaneous
expr: any;
fn: any; //TODO: Decide how we want to type this
fn: {
/**
* A string containing the jQuery version number.
*/
jquery: string;
/**
* The number of elements in the jQuery object.
*/
length: number;
/**
* Merge the contents of an object onto the jQuery prototype to provide new jQuery instance methods.
*
* @param object An object to merge onto the jQuery prototype.
*/
extend(object: any): any;
}
isReady: boolean;
// Properties