diff --git a/jquery/jquery-tests.ts b/jquery/jquery-tests.ts index 4f56785778..65235e105f 100644 --- a/jquery/jquery-tests.ts +++ b/jquery/jquery-tests.ts @@ -1865,8 +1865,10 @@ function test_jQuery() { $foo.triggerHandler('eventName'); $("div > p").css("border", "1px solid gray"); $("input:radio", document.forms[0]); + var xml: any; $("div", xml.responseXML); $(document.body).css("background", "black"); + var myForm: any; $(myForm.elements).hide(); $('

My new text

').appendTo('body'); $(''); @@ -1893,7 +1895,7 @@ function test_jQuery() { } function test_jquery() { - var a = { what: "A regular JS object" }, + var a = { what: "A regular JS object" }, b = $('body'); if (a.jquery) { alert(' a is a jQuery object! '); @@ -2225,4 +2227,9 @@ function test_text() { return 'item number ' + (index + 1); }); $("p").text("Some new text."); -} \ No newline at end of file +} + +$('#item').click(function(e) { + if (e.ctrlKey) { console.log('control pressed'); } + if (e.altKey) { console.log('alt pressed'); } +}); diff --git a/jquery/jquery.d.ts b/jquery/jquery.d.ts index 26ec71f474..f54ccd4909 100644 --- a/jquery/jquery.d.ts +++ b/jquery/jquery.d.ts @@ -108,7 +108,8 @@ interface JQueryDeferred extends JQueryPromise { /* Interface of the JQuery extension of the W3C event object */ -interface JQueryEventObject extends Event { + +interface BaseJQueryEventObject extends Event { data: any; delegateTarget: Element; isDefaultPrevented(): bool; @@ -126,7 +127,7 @@ interface JQueryEventObject extends Event { metaKey: any; } -interface JQueryInputEventObject extends JQueryEventObject +interface JQueryInputEventObject extends BaseJQueryEventObject { altKey: bool; ctrlKey: bool; @@ -155,6 +156,9 @@ interface JQueryKeyEventObject extends JQueryInputEventObject keyCode: number; } +interface JQueryEventObject extends BaseJQueryEventObject, JQueryInputEventObject, JQueryMouseEventObject, JQueryKeyEventObject { +} + /* Collection of properties of the current browser */ @@ -313,6 +317,7 @@ interface JQueryStatic { makeArray(obj: any): any[]; map(array: any[], callback: (elementOfArray: any, indexInArray: any) =>any): any[]; + map(array: any, callback: (elementOfArray: any, indexInArray: any) =>any): any; merge(first: any[], second: any[]): any[]; @@ -777,5 +782,9 @@ interface JQuery { queue(newQueueOrCallback: any): JQuery; } +interface EventTarget { + nodeName: string; +} + declare var jQuery: JQueryStatic; declare var $: JQueryStatic;