如何在 'focus-out' 事件中排除特定的 div

How to exclude a specific div on 'focus-out' event

我在开发一个 Ember 应用程序,我有:

  1. {{input type="text" focus-out="inputFocusOut"}}
  2. <div class="mylist"><u><li action {{action "selectItem" item}}>item</li></ul></div>

我的问题是,当我单击 <li> 项时,会执行 inputFocusOut 函数。

目前我在 inputFocusOut 中有 setTimeout 以使其工作。

但是当 focus-out 事件被触发时,有没有办法排除 <div class="mylist">? 所以当我点击 <li>s 时不执行,也许?

您可以绕过 focusOut 事件,方法是在 click 事件之外添加一个 mouseDown 事件到 li,如下所示:

{{input type="text" focus-out=(action "inputFocusOut") }}
<ul><li {{action "selectItem" item on="click" }} {{action "myMouseDownEvent" item on='mouseDown'}}>{{item}}</li></ul>

检查 this twiddle 以了解此用法。