<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -186,11 +186,13 @@ Screw.Unit(function() {
         
         describe(&quot;focus events&quot;, function () {
             var evtFired;
-
+            
             it(&quot;should fire just like any other event&quot;, function () {
-                $(&quot;no_focus&quot;).focus();
+                $(&quot;input_el&quot;).blur();
                 evtFired = false;
-                MBX.EventHandler.subscribe(&quot;#input&quot;, &quot;focus&quot;, function () { evtFired = true; });
+                
+                eventSubscriptions.push(MBX.EventHandler.subscribe(&quot;#input_el&quot;, &quot;focus&quot;, function (evt) { evtFired = true; }));
+                
                 $(&quot;input_el&quot;).focus();
                 expect(evtFired).to(be_true);
             });
@@ -198,34 +200,43 @@ Screw.Unit(function() {
             it(&quot;should also bubble up&quot;, function () {
                 $(&quot;no_focus&quot;).focus();
                 var wrapperEvtFired = false;
-                MBX.EventHandler.subscribe(&quot;.wrapper&quot;, &quot;focus&quot;, function () { wrapperEvtFired = true; });
+                eventSubscriptions.push(MBX.EventHandler.subscribe(&quot;.wrapper&quot;, &quot;focus&quot;, function () { wrapperEvtFired = true; }));
                 $(&quot;input_el&quot;).focus();
                 expect(wrapperEvtFired).to(be_true);
-                $(&quot;no_focus&quot;).focus();
             });
             
         });
         
-        describe(&quot;blur events&quot;, function () {        
-            it(&quot;should fire just like any other event&quot;, function () {
-                var evtFired = false;
-                MBX.EventHandler.subscribe(&quot;#input&quot;, &quot;blur&quot;, function () { evtFired = true; });
+        describe(&quot;blur events&quot;, function () {
+                  
+            it(&quot;should fire just like any other event&quot;, function (me) {
+                var evtFired;
                 $(&quot;input_el&quot;).focus();
-                $(&quot;input_el&quot;).blur();                
-                expect(evtFired).to(be_true);
+                evtFired = false;
+                
+                var subscription = MBX.EventHandler.subscribe(&quot;#input_el&quot;, &quot;blur&quot;, function () { evtFired = true; });
+                
+                
+                $(&quot;input_el&quot;).blur();
+                
+                // focusein events in ie seem to not bubble synchronously... so we have to wait here
+                using(me).wait(4).and_then(function () {
+                    expect(evtFired).to(be_true);
+                    MBX.EventHandler.unsubscribe(subscription);
+                });
+                
             });
         
             it(&quot;should also bubble up&quot;, function () {
                 $(&quot;input_el&quot;).focus();
                 var wrapperEvtFired = false;
-                MBX.EventHandler.subscribe(&quot;.wrapper&quot;, &quot;blur&quot;, function () { wrapperEvtFired = true; });
+                eventSubscriptions.push(MBX.EventHandler.subscribe(&quot;.wrapper&quot;, &quot;blur&quot;, function () { wrapperEvtFired = true; }));
                 $(&quot;input_el&quot;).blur();
                 expect(wrapperEvtFired).to(be_true);
+                
             });
         });
         
-      
-        
         describe(&quot;deferring functions&quot;, function () {
             var MyCustomEvent = 0;
             var someObj = {};
@@ -288,7 +299,7 @@ Screw.Unit(function() {
                     expect(MyOtherCustomEvent).to(equal, 1);
                     using(me).wait(3).and_then(function () {
                         expect(MyOtherCustomEvent).to(equal, 2);
-                    })
+                    });
                 });
             });
             </diff>
      <filename>spec/event_handler_spec.js</filename>
    </modified>
    <modified>
      <diff>@@ -274,6 +274,7 @@ MBX.EventHandler = (function () {
         if (!targetElement) {
             return;
         }
+        
         opts = opts || {};
         var evtType;
         if (opts.eventType) {
@@ -281,7 +282,7 @@ MBX.EventHandler = (function () {
         } else {
             evtType = evt.type;
         }
-
+        
         if(targetElement.__MotionboxEventHandlerMaker) {
             callFunctionsFromIdOrObject(&quot;objects&quot;, targetElement.__MotionboxEventHandlerMaker, evtType, evt);
             if (!Object.isElement(targetElement)) {</diff>
      <filename>src/event_handler.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>5f26233008e177fac8d3ca50b4165a2aa0336bfd</id>
    </parent>
  </parents>
  <author>
    <name>topper</name>
    <email>topper@toppingdesign.com</email>
  </author>
  <url>http://github.com/tobowers/motionbox-eventhandler/commit/921b4f1dfdf97fd1338d2b86ae1b43118705a80e</url>
  <id>921b4f1dfdf97fd1338d2b86ae1b43118705a80e</id>
  <committed-date>2008-10-31T09:32:00-07:00</committed-date>
  <authored-date>2008-10-31T09:32:00-07:00</authored-date>
  <message>passing tests in IE</message>
  <tree>85ba12271f1135fa0a763270ee031fa874601edf</tree>
  <committer>
    <name>topper</name>
    <email>topper@toppingdesign.com</email>
  </committer>
</commit>
