场景描述:
input下有一个下拉框(ul里很多li),当执行li的click事件时(主要目的是想让点击的li内容填充到input里,这样input就有value了)会触发input的blur事件,导致click事件根本没有执行,就失去焦点了,有很多解决方案,我使用的是给每个li除了click事件外又增加了一个onmousedown事件。
核心代码:
<li each={groups } onclick={ clickGroupItem } onmousedown={ notAutoLoseBlur }>
{name}
</li>
notAutoLoseBlur (e) {
e.preventDefault();
}
这样点击每个li时,里的内容会自动填充到input里,并且input并未失去焦点。