|
1 | 1 | /*!
|
2 |
| - * CanvasInput v1.2.5 |
| 2 | + * CanvasInput v1.2.6 |
3 | 3 | * http://goldfirestudios.com/blog/108/CanvasInput-HTML5-Canvas-Text-Input
|
4 | 4 | *
|
5 | 5 | * (c) 2013-2017, James Simpson of GoldFire Studios
|
|
128 | 128 | self._hiddenInput.style.position = 'absolute';
|
129 | 129 | self._hiddenInput.style.opacity = 0;
|
130 | 130 | 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'; |
135 | 131 | self._hiddenInput.style.zIndex = 0;
|
| 132 | + self._updateHiddenInput(); |
136 | 133 | if (self._maxlength) {
|
137 | 134 | self._hiddenInput.maxLength = self._maxlength;
|
138 | 135 | }
|
|
207 | 204 |
|
208 | 205 | if (typeof data !== 'undefined') {
|
209 | 206 | self._x = data;
|
| 207 | + self._updateHiddenInput(); |
210 | 208 |
|
211 | 209 | return self.render();
|
212 | 210 | } else {
|
|
224 | 222 |
|
225 | 223 | if (typeof data !== 'undefined') {
|
226 | 224 | self._y = data;
|
| 225 | + self._updateHiddenInput(); |
227 | 226 |
|
228 | 227 | return self.render();
|
229 | 228 | } else {
|
|
241 | 240 |
|
242 | 241 | if (typeof data !== 'undefined') {
|
243 | 242 | self._extraX = data;
|
| 243 | + self._updateHiddenInput(); |
244 | 244 |
|
245 | 245 | return self.render();
|
246 | 246 | } else {
|
|
258 | 258 |
|
259 | 259 | if (typeof data !== 'undefined') {
|
260 | 260 | self._extraY = data;
|
| 261 | + self._updateHiddenInput(); |
261 | 262 |
|
262 | 263 | return self.render();
|
263 | 264 | } else {
|
|
447 | 448 | self._width = data;
|
448 | 449 | self._calcWH();
|
449 | 450 | self._updateCanvasWH();
|
| 451 | + self._updateHiddenInput(); |
450 | 452 |
|
451 | 453 | return self.render();
|
452 | 454 | } else {
|
|
466 | 468 | self._height = data;
|
467 | 469 | self._calcWH();
|
468 | 470 | self._updateCanvasWH();
|
| 471 | + self._updateHiddenInput(); |
469 | 472 |
|
470 | 473 | return self.render();
|
471 | 474 | } else {
|
|
1325 | 1328 | }
|
1326 | 1329 | },
|
1327 | 1330 |
|
| 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 | + |
1328 | 1343 | /**
|
1329 | 1344 | * Creates the path for a rectangle with rounded corners.
|
1330 | 1345 | * Must call ctx.fill() after calling this to draw the rectangle.
|
|
0 commit comments