我正在创建一个带有可搜索选择框的自定义模板。输入框上有
focus (trigger)
、blur (trigger)
、keyup (delegate)
和value (bind)
绑定。下拉内容显示在一个中,与此输入框位于同一
中。当焦点在输入框上时,下拉菜单会显示,但当我点击自定义下拉菜单中的某个元素时,模糊事件会先触发,而不是点击委托事件,因此我没有调用
模板如下:
如何让点击元素先触发,而不是使用超时等方法进行hack?-我已经尝试在包含class="dropdown"的div上设置blur.trigger,但它根本不会触发...
selectThis()
方法。模板如下:
<template>
<require from="../searchabledropdown/searchabledropdown.css"></require>
<div class="dropdown">
<input type="text"
placeholder="Search.."
id="inputSearchField"
value.bind="searchValue"
keyup.delegate="findData()"
focus.trigger="changeVisibility(true)"
blur.trigger="changeVisibility(false)">
<div if.bind="visible" class="dropdown-content">
<a href="${'#' + option.thingId}" click.delegate="selectThis(option.thingId)" repeat.for="option of thingimabobs">${option.textValue}</a>
</div>
</div>
如何让点击元素先触发,而不是使用超时等方法进行hack?-我已经尝试在包含class="dropdown"的div上设置blur.trigger,但它根本不会触发...
trigger
而不是delegate
有什么原因吗?你应该除非不能使用delegate,否则都使用delegate。 - Jesse