]> source.dussan.org Git - gwtquery.git/commitdiff
fix for issue 62
authorJulien Dramaix <julien.dramaix@gmail.com>
Thu, 13 Jan 2011 11:34:13 +0000 (11:34 +0000)
committerJulien Dramaix <julien.dramaix@gmail.com>
Thu, 13 Jan 2011 11:34:13 +0000 (11:34 +0000)
gwtquery-core/src/main/java/com/google/gwt/query/client/plugins/EventsListener.java
gwtquery-core/src/test/java/com/google/gwt/query/client/GQueryEventsTest.java

index 5b8fc8f422fe65d69d8c666e4f9399090af9f785..7f799b0fc3c1f86973379b2301471e66e717567c 100644 (file)
@@ -149,7 +149,7 @@ public class EventsListener implements EventListener {
     if (eventbits == ONSUBMIT) {
       sinkSubmitEvent(element);
     } else {
-      if ((eventbits | Event.FOCUSEVENTS) == Event.FOCUSEVENTS) {
+      if ((eventbits | Event.FOCUSEVENTS) == Event.FOCUSEVENTS && element.getAttribute("tabIndex").length() == 0) {
         element.setAttribute("tabIndex", "0");
       }
       DOM.sinkEvents((com.google.gwt.user.client.Element) element, eventbits
index bf4184adefbfbecfd718024f1985b468b6cc6c60..7cfdea6257afa63fa881702bbde5bd6ac8e39b18 100644 (file)
@@ -318,4 +318,23 @@ public class GQueryEventsTest extends GWTTestCase {
     $(document).trigger(Event.ONMOUSEUP);
     assertEquals("black", $("p").css("color"));
   }
+  
+  /**
+   * Test for issue 62
+   * http://code.google.com/p/gwtquery/issues/detail?id=62
+   */
+  public void testTabInbexInFocusEventBinding(){
+    String content="<div id='test'>test content</div>";
+    $(e).html(content);
+    $("#test").focus(new Function(){});
+    
+    assertEquals($("#test").attr("tabIndex"), "0");
+    
+    content="<div id='test' tabIndex='2'>test content</div>";
+    $(e).html(content);
+    $("#test").focus(new Function(){});
+    
+    assertEquals($("#test").attr("tabIndex"), "2");
+    
+  }
 }