【发布时间】:2015-11-22 02:43:53
【问题描述】:
我有这个输入表单,我想在用户触发on-submit或on-blur事件时保存输入的值。
我有一个问题,每当用户触发on-submit,自然也会触发on-blur 事件。因此会触发 两个 具有相同内容的事件。 (问题不大,但仍然)。
我已经搜索了解决方案并找到了很多 jQuery,我相信我需要一个原始的 javascript 解决方案。
这是我的表格:
<form method="post" on-submit="doneEditAction">
<input
type="text"
value="{{editValue::input}}"
id="editItemInputField"
on-keyup="editKeyupAction"
on-blur="editBlur">
<button type="submit">edit</button>
</form>
当我提交表单时,此表单会触发 doneEditAction 事件。但与此同时,editBlur 事件也会被触发,这应该与doneEditAction 事件相同,以保存输入的值。
editBlur事件
editBlur: function (e) {
this.doneEditAction(e);
this.editing = false;
}
doneEditAction 事件
doneEditAction: function (e) {
e.preventDefault();
console.log(this.editingValue);
this.editing = false;
}
这是我的问题:
- 如何让表单在提交表单时不触发
on-blur事件?或者 - 如何让表单始终只触发一个事件?或者,请参阅编辑,
- 如果触发了两个相同的事件,这是否重要(从性能的角度来看)?
编辑
刚刚看到Polymer TodoMVC,当您尝试对其进行编辑时,它们还会触发两个事件。证明:
这是否意味着,如果触发两个相同的事件实际上并不重要?
【问题讨论】:
标签: javascript events polymer