diff --git a/src/components/btn/QBtn.js b/src/components/btn/QBtn.js
index <HASH>..<HASH> 100644
--- a/src/components/btn/QBtn.js
+++ b/src/components/btn/QBtn.js
@@ -5,6 +5,11 @@ import QIcon from '../icon/QIcon.js'
 import QSpinner from '../spinner/QSpinner.js'
 import { between } from '../../utils/format.js'
 import { stopAndPrevent } from '../../utils/event.js'
+import { isSSR } from '../../plugins/platform.js'
+
+const isIESubmit = isSSR || window.PointerEvent === void 0
+  ? () => false
+  : e => e instanceof PointerEvent && !e.screenX && !e.screenY
 
 export default Vue.extend({
   name: 'QBtn',
@@ -34,7 +39,7 @@ export default Vue.extend({
     click (e) {
       if (e.defaultPrevented) { return }
 
-      if (document.activeElement !== this.$el || (e instanceof PointerEvent && !e.screenX && !e.screenY)) {
+      if (document.activeElement !== this.$el || isIESubmit(e)) {
         stopAndPrevent(e)
         e.preventRipple = true
         this.$el.focus()
[v1] QBtn: prevent errors on PointerEvent on Firefox mobile (#<I>)