用vue做下拉框组件,想在点击下拉框的那个div之外隐藏下拉框。
我想在此div中绑定blur事件实现,但是没有用。
网上看到div本身没有blur事件,需要添加属性tabIndex后方可用blur,试了但是依然没有用。请问各位前辈有好的方法吗?
<template>
<div class="dropdown" :tabIndex='1' @blur="alert(1)">
<input class="input-drop" @click="showDropDown" :value="selectedName"
@keydown.down="changeDown"`请输入代码` @keydown.up.prevent="changeUp" placeholder="请选择:" />
<ul class="ul-dropdown" v-show="isShow" >
<li class="li-dropdown" v-for="(item,index) in optObj.dropItems"
@click="chooseItem(index)" :class="{active:nowIndex===index,'nowItemBg':nowIndex===index}" :name="item">{{item}}</li>
</ul>
<div class="nodata" v-show="optObj.dropItems.length==0">暂无数据...</div>
</div>
</template>
时隔一年我也遇到了这个问题,找了1天没找到答案
需求是注册的时候做个手机号验证 当输入完手机号后去验证该手机号有没有注册过,但是就是获取不到blur事件。 后来发现<mt-field>可以使用@change="show"可以实现此功能
<mt-field placeholder="请输入手机号" type="tel" v-model="phoneNumber" @change="show"></mt-field>