Javascript 模糊事件在按下键时触发
我需要在回车键和模糊事件上获得一个输入值。因此,我创建了两个函数:Javascript 模糊事件在按下键时触发,javascript,events,polymer,rendering,lit-html,Javascript,Events,Polymer,Rendering,Lit Html,我需要在回车键和模糊事件上获得一个输入值。因此,我创建了两个函数: <input @blur=${this._setNameByBlur} @keydown=${this._setNameByEnter}/> 处理回车键 byEnter(e) { const text = e.currentTarget.value; if (e.type === "keydown") { if (e.key === 'Enter' || e
<input @blur=${this._setNameByBlur} @keydown=${this._setNameByEnter}/>
处理回车键
byEnter(e) {
const text = e.currentTarget.value;
if (e.type === "keydown") {
if (e.key === 'Enter' || e.keyCode === 13) {
e.preventDefault();
e.stopPropagation();
this.dispatchEvent(new CustomEvent("save-entry", { detail: text, composed: true, bubbles: true}));
}
}
}
问题是,当我按下“回车”键时,除了执行byBlur
函数外,还有执行byEnter
——我认为这基本上是因为按下回车键时,我实际上失去了焦点,这就是原因。正在寻找解决该问题的密钥这就是我想到的
_setNameByBlur(e) {
const text = e.currentTarget.value.trim();
if (e.sourceCapabilities !== null) {
e.preventDefault();
this.dispatchEvent(new CustomEvent("save-entry", { detail: text, composed: true, bubbles: true}));
}
}
当模糊事件在“回车”后触发时,按其“null”
所以我刚刚添加了一个条件
_setNameByBlur(e) {
const text = e.currentTarget.value.trim();
if (e.sourceCapabilities !== null) {
e.preventDefault();
this.dispatchEvent(new CustomEvent("save-entry", { detail: text, composed: true, bubbles: true}));
}
}