diff --git a/b2g/chrome/content/touch.js b/b2g/chrome/content/touch.js index fde4ee37814f..671a461480eb 100644 --- a/b2g/chrome/content/touch.js +++ b/b2g/chrome/content/touch.js @@ -116,18 +116,17 @@ // Mouse events has been cancelled so dispatch a sequence // of events to where touchend has been fired if (preventMouseEvents) { - let target = evt.target; - ignoreEvents = true; - try { - this.fireMouseEvent('mousemove', evt); - this.fireMouseEvent('mousedown', evt); - this.fireMouseEvent('mouseup', evt); - } catch (e) { - alert(e); - } evt.preventDefault(); evt.stopPropagation(); - ignoreEvents = false; + + let target = evt.target; + ignoreEvents = true; + window.setTimeout(function dispatchMouseEvents(self) { + self.fireMouseEvent('mousemove', evt); + self.fireMouseEvent('mousedown', evt); + self.fireMouseEvent('mouseup', evt); + ignoreEvents = false; + }, 0, this); } debug('click: fire');