首页 > 解决方案 > 如何在“聚焦”事件中排除特定的 div

问题描述

我在一个 Ember 应用程序上工作,我有:

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

我的问题是,当我点击一个<li>项目时,该inputFocusOut功能被执行。

目前我在setTimeout里面inputFocusOut让它工作。

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

标签: javascriptember.jshandlebars.jsdom-events

解决方案


您可以通过在您的mouseDown事件之外添加一个事件来绕过 focusOut 事件,如下所示:clickli

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

签出这个 twiddle以了解这种用法​​。


推荐阅读