.clickAt() focuses the editable field

Also, still .preventDefault() even if .ignoreNextMousedown()-ing,
otherwise 300ms after a touch tap when the legacy mouse events fire on
the container span (because the container span has a 'mousedown' event
handler [1]), "clicking" on the container span, it would blur the
textarea (just like a real click would unless you .preventDefault()).

[1]:

> A clickable element is a link, form element, image map area, or any
> other element with mousemove, mousedown, mouseup, or onclick handlers.

https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html
diff --git a/src/publicapi.js b/src/publicapi.js
index 162e438..f5df089 100644
--- a/src/publicapi.js
+++ b/src/publicapi.js
@@ -145,6 +145,7 @@
     var ctrlr = this.__controller, root = ctrlr.root;
     if (!jQuery.contains(root.jQ[0], target)) target = root.jQ[0];
     ctrlr.seek($(target), clientX + pageXOffset, clientY + pageYOffset);
+    if (ctrlr.blurred) this.focus();
     return this;
   };
   _.ignoreNextMousedown = function(fn) {
diff --git a/src/services/mouse.js b/src/services/mouse.js
index acdf7a7..b2b543a 100644
--- a/src/services/mouse.js
+++ b/src/services/mouse.js
@@ -13,6 +13,9 @@
       var ctrlr = root.controller, cursor = ctrlr.cursor, blink = cursor.blink;
       var textareaSpan = ctrlr.textareaSpan, textarea = ctrlr.textarea;
 
+      e.preventDefault(); // doesn't work in IE≤8, but it's a one-line fix:
+      e.target.unselectable = true; // http://jsbin.com/yagekiji/1
+
       if (cursor.options.ignoreNextMousedown(e)) return;
       else cursor.options.ignoreNextMousedown = noop;
 
@@ -46,8 +49,6 @@
         if (!ctrlr.editable) rootjQ.prepend(textareaSpan);
         textarea.focus();
       }
-      e.preventDefault(); // doesn't work in IE≤8, but it's a one-line fix:
-      e.target.unselectable = true; // http://jsbin.com/yagekiji/1
 
       cursor.blink = noop;
       ctrlr.seek($(e.target), e.pageX, e.pageY).cursor.startSelection();
diff --git a/test/unit/publicapi.test.js b/test/unit/publicapi.test.js
index 4a81f74..9264c3e 100644
--- a/test/unit/publicapi.test.js
+++ b/test/unit/publicapi.test.js
@@ -779,7 +779,9 @@
       var clientY = box.top + 40;
       var target = document.elementFromPoint(clientX, clientY);
 
+      assert.equal(document.activeElement, document.body);
       mq.clickAt(clientX, clientY, target).write('x');
+      assert.equal(document.activeElement, $(mq.el()).find('textarea')[0]);
 
       assert.equal(mq.latex(), "\\frac{mmmm}{mmxmm}");
 
@@ -801,7 +803,9 @@
       var clientX = box.left + 30;
       var clientY = box.top + 40;
 
+      assert.equal(document.activeElement, document.body);
       mq.clickAt(clientX, clientY).write('x');
+      assert.equal(document.activeElement, $(mq.el()).find('textarea')[0]);
 
       assert.equal(mq.latex(), "\\frac{mmmm}{mmxmm}");