我想在asp.net 5 / Angular2中开发一个应用程序,我在扫描条形码方面遇到了问题。
我的组件使用typeScript:
response.xpath('//*[@id="textepresentation"]//p/text()').extract_first()
和我的html模板(scan.html):
@Component({
selector: 'barcode-scanner',
templateUrl: 'app/scan.html',
directives: [ROUTER_DIRECTIVES]
})
export class ScanComponent implements OnInit {
barcode: string;
constructor() {}
ngOnInit() { }
onKey(event: any) {
this.barcode = event.target.value;
}
}
它正在工作,但只有当输入显示在屏幕上并且聚焦时才会工作。
有没有办法用隐藏的输入做到这一点? (我已经尝试过<barcode-scanner>
<div class="container">
<header><h1>My App title</h1></header>
<div class="row">
<input type="text" (keyup)="onKey($event)" autofocus />
<p>barcode: {{ barcode }}</p>
</div>
</div>
</barcode-scanner>
,还有一个input type="hidden"
具有input type="text"
样式的属性,但在这两种情况下它都没有用。
此外,是否可以在文档中捕获display:none
事件?而不是在指定的输入上?
答案 0 :(得分:1)
您可以通过将事件目标添加为前缀target:event
来侦听全局事件。 target
可以是window
,document
或body
(window:keypress)="doSomething($event)"