|
@@ -3,9 +3,11 @@
|
|
|
* properties to Elements.
|
|
* properties to Elements.
|
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
-import { looseEqual, looseIndexOf } from 'shared/util'
|
|
|
|
|
|
|
+import { looseEqual, looseIndexOf, makeMap } from 'shared/util'
|
|
|
import { warn, isAndroid, isIE9, isIE, isEdge } from 'core/util/index'
|
|
import { warn, isAndroid, isIE9, isIE, isEdge } from 'core/util/index'
|
|
|
|
|
|
|
|
|
|
+const isTextInputType = makeMap('text,password,search,email,tel,url')
|
|
|
|
|
+
|
|
|
/* istanbul ignore if */
|
|
/* istanbul ignore if */
|
|
|
if (isIE9) {
|
|
if (isIE9) {
|
|
|
// http://www.matts411.com/post/internet-explorer-9-oninput/
|
|
// http://www.matts411.com/post/internet-explorer-9-oninput/
|
|
@@ -28,7 +30,7 @@ export default {
|
|
|
if (isIE || isEdge) {
|
|
if (isIE || isEdge) {
|
|
|
setTimeout(cb, 0)
|
|
setTimeout(cb, 0)
|
|
|
}
|
|
}
|
|
|
- } else if (vnode.tag === 'textarea' || el.type === 'text' || el.type === 'password') {
|
|
|
|
|
|
|
+ } else if (vnode.tag === 'textarea' || isTextInputType(el.type)) {
|
|
|
el._vModifiers = binding.modifiers
|
|
el._vModifiers = binding.modifiers
|
|
|
if (!binding.modifiers.lazy) {
|
|
if (!binding.modifiers.lazy) {
|
|
|
// Safari < 10.2 & UIWebView doesn't fire compositionend when
|
|
// Safari < 10.2 & UIWebView doesn't fire compositionend when
|