我正在尝试使用以下命令从TS1.6中的剪贴板访问数据:
$(container).bind("paste", (e) => {
var data = e.originalEvent.clipboardData.getData('text');
});
Run Code Online (Sandbox Code Playgroud)
但它只是给我以下构建错误:
类型'JQueryEventObject'上不存在属性'clipboardData'
如果我删除第二行并在Chrome 46中调试它,我只需通过调用即可获得剪贴板数据
e.originalEvent.clipboardData.getData('text');
Run Code Online (Sandbox Code Playgroud)
我看不到clipboardData在jQuery.d.ts的最新版本的JQueryEventObject接口,但问题是 - 它应该是有还是有,从目前该TS支持剪贴板检索数据以不同的方式?
您可以使用["property"]方法绕过预期的打字稿类型
var pastedData = e.originalEvent["clipboardData"].getData('text');
Run Code Online (Sandbox Code Playgroud)
使用 ClipboardEvent 类型(例如)
private onPaste(event: ClipboardEvent) {
const {clipboardData} = event;
const pastedText = clipboardData.getData('text');
}
Run Code Online (Sandbox Code Playgroud)
似乎直到TS1.8,我发现的一个(hacky)选项只是扩展Event
为:
interface Event {
clipboardData: any;
}
Run Code Online (Sandbox Code Playgroud)
我相信我可以通过更换any
更好的东西来改善这一点,但它现在有效.
归档时间: |
|
查看次数: |
6491 次 |
最近记录: |