jQuery (inner|outer)(Width|Height) are setters as well as getters

This undocumented behavior is described in an open issue:

    https://github.com/jquery/api.jquery.com/issues/98
This commit is contained in:
James Fisher
2013-07-17 23:06:52 +01:00
parent b443469bbd
commit 86e45eece5
2 changed files with 34 additions and 12 deletions

View File

@@ -1718,14 +1718,30 @@ function test_index() {
$('div').html('Index: ' + foobar);
}
function test_innedHeight() {
function test_innerHeight() {
var p = $("p:first");
$("p:last").text("innerHeight:" + p.innerHeight());
p.innerHeight(p.innerHeight() * 2).innerHeight();
}
function test_innerWidth() {
var p = $("p:first");
$("p:last").text("innerWidth:" + p.innerWidth());
p.innerWidth(p.innerWidth() * 2).innerWidth();
}
function test_outerHeight() {
var p = $("p:first");
$("p:last").text("outerHeight:" + p.outerHeight(true));
p.outerHeight(p.outerHeight() * 2).outerHeight();
p.outerHeight(p.outerHeight() * 2, true).outerHeight();
}
function test_outerWidth() {
var p = $("p:first");
$("p:last").text("outerWidth:" + p.outerWidth(true));
p.outerWidth(p.outerWidth() * 2).outerWidth();
p.outerWidth(p.outerWidth() * 2, true).outerWidth();
}
function test_insertAfter() {
@@ -2272,15 +2288,15 @@ function test_parseHTML() {
str = "hello, <b>my name is</b> jQuery.",
html = $.parseHTML( str ),
nodeNames = [];
// Append the parsed HTML
$log.append( html );
// Gather the parsed HTML's node names
$.each( html, function( i, el ) {
nodeNames[i] = "<li>" + el.nodeName + "</li>";
});
// Insert the node names
$log.append( "<h3>Node Names:</h3>" );
$( "<ol></ol>" )

22
jquery/jquery.d.ts vendored
View File

@@ -83,11 +83,11 @@ interface JQueryCallback {
/*
Allows jQuery Promises to interop with non-jQuery promises
*/
interface JQueryGenericPromise<T> {
then<U>(onFulfill: (value: T) => U, onReject?: (reason) => U): JQueryGenericPromise<U>;
then<U>(onFulfill: (value: T) => JQueryGenericPromise<U>, onReject?: (reason) => U): JQueryGenericPromise<U>;
then<U>(onFulfill: (value: T) => U, onReject?: (reason) => JQueryGenericPromise<U>): JQueryGenericPromise<U>;
then<U>(onFulfill: (value: T) => JQueryGenericPromise<U>, onReject?: (reason) => JQueryGenericPromise<U>): JQueryGenericPromise<U>;
interface JQueryGenericPromise<T> {
then<U>(onFulfill: (value: T) => U, onReject?: (reason) => U): JQueryGenericPromise<U>;
then<U>(onFulfill: (value: T) => JQueryGenericPromise<U>, onReject?: (reason) => U): JQueryGenericPromise<U>;
then<U>(onFulfill: (value: T) => U, onReject?: (reason) => JQueryGenericPromise<U>): JQueryGenericPromise<U>;
then<U>(onFulfill: (value: T) => JQueryGenericPromise<U>, onReject?: (reason) => JQueryGenericPromise<U>): JQueryGenericPromise<U>;
}
/*
@@ -102,9 +102,9 @@ interface JQueryPromise<T> {
// Deprecated - given no typings
pipe(doneFilter?: (x: any) => any, failFilter?: (x: any) => any, progressFilter?: (x: any) => any): JQueryPromise<any>;
then<U>(onFulfill: (value: T) => U, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (value: T) => JQueryGenericPromise<U>, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (value: T) => U, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (value: T) => U, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (value: T) => JQueryGenericPromise<U>, onReject?: (...reasons) => U, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (value: T) => U, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
then<U>(onFulfill: (value: T) => JQueryGenericPromise<U>, onReject?: (...reasons) => JQueryGenericPromise<U>, onProgress?: (...progression) => any): JQueryPromise<U>;
// Because JQuery Promises Suck
@@ -448,14 +448,20 @@ interface JQuery {
height(func: (index: any, height: any) => any): JQuery;
innerHeight(): number;
innerHeight(value: number): JQuery;
innerWidth(): number;
innerWidth(value: number): JQuery;
offset(): { left: number; top: number; };
offset(coordinates: any): JQuery;
offset(func: (index: any, coords: any) => any): JQuery;
outerHeight(includeMargin?: boolean): number;
outerHeight(value: number, includeMargin?: boolean): JQuery;
outerWidth(includeMargin?: boolean): number;
outerWidth(value: number, includeMargin?: boolean): JQuery;
position(): { top: number; left: number; };