javascript - 使用 RxJS 在输入元素中取消用户输入特定字符
问题描述
我想知道如何防止用户在输入元素中输入空格。
这是我到目前为止得到的:
const userTypedInSearchBox = Observable.fromEvent(searchBar, 'input').asHot();
whenAnyOf(userTypedInSearchBox).subscribe(e => {
if(e.keyCode === 32) {
e.preventDefault()
}
});
解决方案
这是一种方法,您可以实现它。我认为您面临的问题是由于您正在收听的事件类型。
import { Observable, fromEvent } from 'rxjs';
import { map } from 'rxjs/operators';
var searchBar = document.querySelector('input');
const userTypedInSearchBox = fromEvent(searchBar, 'keydown');
userTypedInSearchBox.subscribe((e: KeyboardEvent) => {
if(e.keyCode === 32) {
console.log(e);
e.preventDefault();
e.stopPropagation();
}
});
推荐阅读
- windows - 可以解析文件夹位置以查找 BATCH 中某些字符的实例吗?
- c++ - boost directory_iterator 是否在 Windows 上按字母顺序访问文件和文件夹
- python - 如何将列表中的字符串转换为列表,从 [[list1],[list2]....[listm]]
- angularjs - 如何在 AngularJS 页面中捕获 nodejs api 数据?
- drupal - 使用来自参考字段的动态参数过滤实体参考视图
- android - 将屏幕截图保存到内部存储并同步到图库?
- angular - Angular 工作区交互
- sql - SQL 列出具有前任的客户经理
- java - Barteksc AndroidPdfViewer 渲染不佳
- android - Glide - 如何在可运行中获取位图