Skip to content

Commit 53c471e

Browse files
committed
v1.2.6 - keep hidden input sizing correct
1 parent a205a2a commit 53c471e

File tree

3 files changed

+23
-8
lines changed

3 files changed

+23
-8
lines changed

CanvasInput.js

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* CanvasInput v1.2.5
2+
* CanvasInput v1.2.6
33
* http://goldfirestudios.com/blog/108/CanvasInput-HTML5-Canvas-Text-Input
44
*
55
* (c) 2013-2017, James Simpson of GoldFire Studios
@@ -128,11 +128,8 @@
128128
self._hiddenInput.style.position = 'absolute';
129129
self._hiddenInput.style.opacity = 0;
130130
self._hiddenInput.style.pointerEvents = 'none';
131-
self._hiddenInput.style.left = (self._x + self._extraX + (self._canvas ? self._canvas.offsetLeft : 0)) + 'px';
132-
self._hiddenInput.style.top = (self._y + self._extraY + (self._canvas ? self._canvas.offsetTop : 0)) + 'px';
133-
self._hiddenInput.style.width = self._width + 'px';
134-
self._hiddenInput.style.height = self._height + 'px';
135131
self._hiddenInput.style.zIndex = 0;
132+
self._updateHiddenInput();
136133
if (self._maxlength) {
137134
self._hiddenInput.maxLength = self._maxlength;
138135
}
@@ -207,6 +204,7 @@
207204

208205
if (typeof data !== 'undefined') {
209206
self._x = data;
207+
self._updateHiddenInput();
210208

211209
return self.render();
212210
} else {
@@ -224,6 +222,7 @@
224222

225223
if (typeof data !== 'undefined') {
226224
self._y = data;
225+
self._updateHiddenInput();
227226

228227
return self.render();
229228
} else {
@@ -241,6 +240,7 @@
241240

242241
if (typeof data !== 'undefined') {
243242
self._extraX = data;
243+
self._updateHiddenInput();
244244

245245
return self.render();
246246
} else {
@@ -258,6 +258,7 @@
258258

259259
if (typeof data !== 'undefined') {
260260
self._extraY = data;
261+
self._updateHiddenInput();
261262

262263
return self.render();
263264
} else {
@@ -447,6 +448,7 @@
447448
self._width = data;
448449
self._calcWH();
449450
self._updateCanvasWH();
451+
self._updateHiddenInput();
450452

451453
return self.render();
452454
} else {
@@ -466,6 +468,7 @@
466468
self._height = data;
467469
self._calcWH();
468470
self._updateCanvasWH();
471+
self._updateHiddenInput();
469472

470473
return self.render();
471474
} else {
@@ -1325,6 +1328,18 @@
13251328
}
13261329
},
13271330

1331+
/**
1332+
* Update the size and position of the hidden input (better UX on mobile).
1333+
*/
1334+
_updateHiddenInput: function() {
1335+
var self = this;
1336+
1337+
self._hiddenInput.style.left = (self._x + self._extraX + (self._canvas ? self._canvas.offsetLeft : 0)) + 'px';
1338+
self._hiddenInput.style.top = (self._y + self._extraY + (self._canvas ? self._canvas.offsetTop : 0)) + 'px';
1339+
self._hiddenInput.style.width = (self._width + self._padding * 2) + 'px';
1340+
self._hiddenInput.style.height = (self._height + self._padding * 2) + 'px';
1341+
},
1342+
13281343
/**
13291344
* Creates the path for a rectangle with rounded corners.
13301345
* Must call ctx.fill() after calling this to draw the rectangle.

0 commit comments

Comments
 (0)