【发布时间】:2020-08-06 20:23:03
【问题描述】:
我有一个.add-color div,可以点击它来创建一个 contenteditable span,然后专注于后者。
但是为了便于访问,我还设置了它,以便当用户在关注 .add-color div 时按下
有什么方法可以防止该字符被传递到 contenteditable 范围?在我的dom.KeyActivate 方法中是否有某种方法可以清除键盘输入缓冲区(或吞下按键)?
在我的 DOM 实用程序中:
dom.KeyActivate = function(fcn) {
return function(evt) {
if(evt.key !== 'Enter' && evt.key !== " ") {
return;
}
fcn(evt);
}
};
在小部件定义中:
_create: function() {
const $rangeBar = self.element.find('.rangeBar');
self._on({
"click .add-color": () => self._AddColor($rangeBar),
"keypress .add-color": dom.KeyActivate(
() => self._AddColor($rangeBar)
),
})
},
_AddColor: function($parent) {
$(`<span contenteditable="true" type="number" name="ranges[]">?</span>`)
.appendTo($parent).focus();
},
如果有什么不同,我正在 Chrome 上进行开发。
【问题讨论】:
标签: javascript jquery jquery-ui keyboard-events