首先上代码说总结:
<mt-field label="卡号" v-model="card.cardNo" @blur.native.capture="checkCard"></mt-field>
methods: { checkCard() { console.log('1111'); } }
使用@blur.native.capture=""即可实现。
另一种方法:
使用vue-directive指令实现。这种方法有个问题没解决,不推荐使用。
<mt-field label="卡号" v-model="card.cardNo" v-mintblur></mt-field>
Vue.directive('mintblur', { // 暂不使用directive实现blur事件了,使用@blur.native.capture="cardNoBlur"即可。 inserted: function(el, pra, a) { let oInput = el.querySelector('input'); console.log('oInput', oInput); oInput.onfocus = function() { // 创建focus的事件 }; oInput.onblur = function() { console.log('blu1r'); this.$emit(pra.expression); }; } });
这种方法暂不支持类似于v-mintblur="myfunction"调用自定义函数处理功能:
<mt-field label="卡号" v-model="card.cardNo" v-mintblur="myfunction"></mt-field>
转自:https://blog.csdn.net/ywl570717586/article/details/80535236