javascript - 如何检测元素外部的点击并通过 ember 发送事件?

标签 javascript ember.js

我的问题如下:How do I detect a click outside an element?

但我想使用 ember.js 来做到这一点。我的模板代码:

<td colspan="2" {{action "changeName" on="doubleClick"}}>
  {{#if isEditName}}
    {{input type="text" value=editName class="form-control"}}
  {{else}}
    {{product.name}}
  {{/if}}
</td>

我想要在双击div时执行此操作,显示input并且我可以在input中更改名称。我想当我更改名称并单击正文时会保存名称。我认为更好。但我不知道如何在body中设置事件,当我点击body时会隐藏input并保存product.name。

谢谢。

添加图片展示行为过程:

enter image description here

最佳答案

不确定您的确切意思,但我猜您正在寻找类似的东西

<td>
  {{#if isEditName}}
    <span {{action "showOrHide" on="doubleClick"}}> {{input type="text" value=product.name class="form-control"}}</span>
  {{else}}
     <span {{action 'showOrHide' on="doubleClick"}}> {{product.name}} </span>
  {{/if}}
</td>


isEditName: false,

actions : {
 showOrHide: function() { 
     this.toggleProperty('isEditName'); 

     if(!this.get('isEditName') { // changed from input to detail view
         this.get('product').save();
     }


 })
}

关于javascript - 如何检测元素外部的点击并通过 ember 发送事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35696524/

相关文章:

javascript - 在 Angular 中从 ng-change 运行 Javascript 函数

javascript - 在没有地址栏的 Android 上打开链接

javascript - Ember 数据 - 获取第一个集合

Ember.js - 如何 'get' 计算属性

ember.js - 如何为所有 RESTAdapter ember 请求添加 header

javascript - Ember.js - Pod 结构中的错误状态

javascript - Google map 异步添加标记

javascript - 通过获取父级的 "this"属性来推送具有删除自身的对象的数组

javascript - 使用 javascript 函数打开选项卡

ember.js - Ember 可观测 map