【发布时间】:2018-08-24 23:44:47
【问题描述】:
我有一个名为 styled-input 的组件,它是一个包含样式、图标、验证等的输入。
我正在尝试在自定义指令中使用 addEventListener 来监听事件并让事情发生。
<styled-input
v-model=""
v-on:input=""
v-on:blur=""
></styled-input>
内部:
value 是一个道具(允许v-model 绑定在外面)
<template>
<div>
<input
v-bind:value="value"
v-on:input="$emit('input', $event.target.value)"
v-on:blur="$emit('blur', $event.target.value)"
/>
</div>
</template>
我正在尝试通过自定义指令addEventListeners 对标签进行自定义验证。
<styled-input
v-model=""
v-custom-validator:credit-card
></styled-input>
在指令中,我使用addEventListener 来监听来自输入字段的事件。
Vue.directive('custom-validator', {
bind: function(el, binding) {
el.addEventListener('blur', (event) => {
// Does not fire
});
el.addEventListener('input', (event) => {
/// Fires
});
},
});
为什么模糊事件不触发,而输入事件触发?
如何让模糊事件触发?
【问题讨论】:
-
为什么要强制另一个元素的事件?只调用与之关联的操作不是更干净吗?
标签: javascript vue.js vuejs2 vue-component