]> source.dussan.org Git - gwtquery.git/commitdiff
Adding support for triggering browser native events. Fixes issue #171 47/1947/1
authorManuel Carrasco Moñino <manuel.carrasco.m@gmail.com>
Sat, 8 Feb 2014 13:09:04 +0000 (14:09 +0100)
committerManuel Carrasco Moñino <manuel.carrasco.m@gmail.com>
Sat, 8 Feb 2014 13:09:04 +0000 (14:09 +0100)
gwtquery-core/src/main/java/com/google/gwt/query/client/GQuery.java
gwtquery-core/src/main/java/com/google/gwt/query/client/plugins/Events.java

index bd29b38cd914d6cf4dd7b135af5865f4e76b32dc..220ec36bcd9d9949b5c4fff2aef5a5c391eabf9c 100644 (file)
  */
 package com.google.gwt.query.client;
 
+import static com.google.gwt.query.client.plugins.QueuePlugin.*;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.core.client.JavaScriptObject;
 import com.google.gwt.core.client.JsArray;
 import com.google.gwt.core.client.JsArrayMixed;
 import com.google.gwt.core.client.JsArrayString;
 import com.google.gwt.core.client.ScriptInjector;
-import com.google.gwt.dom.client.BodyElement;
-import com.google.gwt.dom.client.ButtonElement;
-import com.google.gwt.dom.client.Document;
-import com.google.gwt.dom.client.Element;
-import com.google.gwt.dom.client.InputElement;
-import com.google.gwt.dom.client.Node;
-import com.google.gwt.dom.client.NodeList;
-import com.google.gwt.dom.client.OptionElement;
-import com.google.gwt.dom.client.SelectElement;
+import com.google.gwt.dom.client.*;
 import com.google.gwt.dom.client.Style.Display;
 import com.google.gwt.dom.client.Style.HasCssName;
-import com.google.gwt.dom.client.TextAreaElement;
 import com.google.gwt.query.client.css.CSS;
 import com.google.gwt.query.client.css.HasCssValue;
 import com.google.gwt.query.client.css.TakesCssValue;
@@ -62,13 +60,6 @@ import com.google.gwt.user.client.Window;
 import com.google.gwt.user.client.ui.IsWidget;
 import com.google.gwt.user.client.ui.Widget;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-import static com.google.gwt.query.client.plugins.QueuePlugin.Queue;
-
 /**
  * GwtQuery is a GWT clone of the popular jQuery library.
  */
@@ -4468,6 +4459,13 @@ public class GQuery implements Lazy<GQuery, LazyGQuery> {
     return r;
   }
 
+  /**
+   * Trigger a browser native event on each matched element.
+   */
+  public GQuery trigger(NativeEvent event) {
+    return as(Events).trigger(event, new Function[] {});
+  }
+
   /**
    * Trigger a set of events on each matched element.
    *
index e3642decb70bf479ad6a16e148f7013f7727507f..c89cf88462574d1ee1a9831ecaf1178dd4a1299c 100644 (file)
@@ -17,6 +17,7 @@ import com.google.gwt.dom.client.Element;
 import com.google.gwt.dom.client.FormElement;
 import com.google.gwt.dom.client.NativeEvent;
 import com.google.gwt.dom.client.Node;
+import com.google.gwt.event.dom.client.HasNativeEvent;
 import com.google.gwt.query.client.Function;
 import com.google.gwt.query.client.GQuery;
 import com.google.gwt.query.client.js.JsUtils;
@@ -260,6 +261,17 @@ public class Events extends GQuery {
     return this;
   }
 
+  /**
+   * Trigger a native event in all matched elements.
+   *
+   * @param nativeEvent the browser native event.
+   * @functions a set of function to run if the event is not canceled.
+   */
+  public Events trigger(NativeEvent nativeEvent, Function... functions) {
+    dispatchEvent(nativeEvent, null, functions);
+    return this;
+  }
+
   /**
    * Trigger a html event in all matched elements.
    *