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;