Add an input mask extension. I think I'll try to make it compatible with this plugin.
Allow attaching a keyboard to a contenteditable element. Added v1.27.0.
Known Problems
ALL: Only inputs of type "text", "search", "url", "telephone" and "password" support caret positioning (ref). Using this keyboard with any other input type will break the caret left/right, backspace and delete keys (see issue #241 for details).
Mobile: If the key press lags behind by one character, it is likely due to the mousewheel plugin. Disable it. See issues #379 & #411.
IE and Opera:
In a text area with multiple carriage returns, the caret positioning will be off when repositioning it with the mouse.
Using the right and left arrow keys to navigate through a text area with multiple carriage returns is problematic. The caret doesn't behave like in other browsers when moving from one line to the next. You can always reposition the caret using the mouse.
Opera: When pressing the tab key while inside a textarea, all browsers but Opera add the tab to the virtual keyboard textarea.
Safari: See the QWERTY Text Area demo with a locked input. While using the virtual keyboard to type, it enters the text in backwards! This is because textareas with a "readonly" attribute always returns zero for the caret position.
Typing Extension:
When pressing "Alt", the key set will change to the alt key set, but the focus will be moved to the browser menu. Pressing it quickly a second time will return the focus. This is built into the browser and it isn't possible (as far as I know) to automatically restore the window focus the first time alt is pressed.
Holding down the Alt key and trying to type is also not possible since the Windows OS is assuming you are trying to type a shortcut key to access the browser menu. You can still click the keys in the alt key set with the mouse.
Simulated typing on the keyboard breaks when the CapsLock is on. Still looking for a cross-browser solution.
Contributing
Install node.js - this includes npm (node package manager).
Run npm install in the root directory.
Run npm install -g grunt-cli to install the grunt command-line interface.
Make any changes to the code.
Unit tests will be added later.
Run grunt to perform a new build in the /dist folder.
Submit a pull request from a branch other than the master.
Throw error on non-supported input types. Fixes issue #754 - This is a breaking change since before the library would convert number & email types to a text type input.
请发表评论