我只想用我的KeyboardEvent来做这件事
var tag = evt.target.tagName.toLowerCase();
Run Code Online (Sandbox Code Playgroud)
虽然Event.target的类型为EventTarget,但它不会从Element继承.所以我必须这样投:
var tag = (<Element>evt.target).tagName.toLowerCase();
Run Code Online (Sandbox Code Playgroud)
这可能是因为有些浏览器没有遵循标准,对吧?TypeScript中与浏览器无关的正确实现是什么?
PS:我正在使用jQuery来捕获KeyboardEvent.
我使用TypeScript版本2作为Angular 2组件代码.
我收到错误"属性'值'在类型'EventTarget'上不存在"下面的代码,可能是解决方案.谢谢!
e.target.value.match(/\S +/g)|| []).长度
import { Component, EventEmitter, Output } from '@angular/core';
@Component({
selector: 'text-editor',
template: `
<textarea (keyup)="emitWordCount($event)"></textarea>
`
})
export class TextEditorComponent {
@Output() countUpdate = new EventEmitter<number>();
emitWordCount(e: Event) {
this.countUpdate.emit(
(e.target.value.match(/\S+/g) || []).length);
}
}
Run Code Online (Sandbox Code Playgroud) 问题与此相同:
TypeScript:类型“EventTarget & Element”上不存在属性“checked”。为什么它不存在?
但仅限于不同的框架。
我需要 ANGULAR 2+ 的这个答案。目前我正在使用 Angular 9
public CheckBoxChange(event: Event) {
this.service.change(this.d!.id.toString(), event.target.checked).subscribe(res => {
console.log(res
}, err => {
console.log(err)
})
}
Run Code Online (Sandbox Code Playgroud)
问题出在这里event.target.checked
错误信息:
类型“EventTarget”上不存在属性“checked”。ts(2339)
如何解决这个问题?好的,我可以设置 type:any 但这不是解决方案。
带有 React 的 TypeScript 中的以下代码输出以下错误。
类型“EventTarget”上不存在属性“value”。
import React, { Component } from 'react';
class InputForm extends React.Component<any ,any> {
state = {
userInput: ''
};
handleUserInput = (e: React.FormEvent<HTMLInputElement>): void => {
this.setState({
userInput: e.target.value
});
}
// Working code from 42081549
// Not relevant to this project
update = (e: React.FormEvent<HTMLInputElement>): void => {
this.props.login[e.currentTarget.name] = e.currentTarget.value
}
submitMessage = (e: React.FormEvent<HTMLFormElement>): void => {
e.preventDefault();
this.props.sendUserMessage(this.state.userInput)
}
render() {
return (
<form className="chat-input-form" onSubmit={this.submitMessage}>
<input value={this.state.userInput} onChange={this.handleUserInput}/>
<button …Run Code Online (Sandbox Code Playgroud) 我在我的 svelte 项目中使用 Typescript,我需要为我的事件定义强类型。但我找不到任何方法可以做到这一点。
<script lang="ts">
const onKeyUp = (event: [type here]) => {
console.log({ event })
// const {target, keyCode} = event
}
</script>
<input type="text" on:keyup={onKeyUp} />
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我!
我的 .ts 文件中有一个 Javascript,它不断向我显示“EventTarget”类型上不存在属性“result”???
imageUpload() {
window.onload = function(){
//Check File API support zzzz
(<any>$('#files')).live("change", function(event) {
var files = event.target.files; //FileList object
var output = document.getElementById("result");
for(var i = 0; i< files.length; i++)
{
var file = files[i];
//Only pics
// if(!file.type.match('image'))
if(file.type.match('image.*')){
if(this.files[0].size < 2097152){
// continue;
var picReader = new FileReader();
picReader.addEventListener("load",function(event){
var picFile = event.target;
var div = document.createElement("div");
div.innerHTML = "<img class='thumbnail' src='" + picFile.result + "'" +
"title='preview image'>";
output.insertBefore(div,null);
});
//Read the image …Run Code Online (Sandbox Code Playgroud) typescript ×6
angular ×2
javascript ×2
events ×1
html ×1
reactjs ×1
svelte ×1
svelte-3 ×1
types ×1