鼠标滚轮功能在 svelte 上返回错误
Mousewheel function returning error on svelte
我想知道为什么这个代码
<div class="home" on:mousewheel="{e=>handleScroll(e)}"></div>
返回以下错误
Type '{ class: string; onmousewheel: (e: any) => void; }' is not assignable to type 'HTMLProps'.
Property 'onmousewheel' does not exist on type 'HTMLProps'.
这只是出于好奇,因为即使出现错误,它也能完美运行。
Ps。我正在使用 TypeScript
我相信您正在寻找的事件是 onwheel,这将在 Svelte 中转换为 on:wheel
。
或者,如果您只对用于滚动目的的鼠标滚轮事件感兴趣,则正确的事件将是 onscroll(Svelte 中的 on:scroll
)。
Svelte deprecated according to MDN and won't work in Firefox. Because it's non-standard, it is not included in the JSX typings 使用鼠标滚轮事件。
最好在单独的文件中使用标准 wheel event, which replaced mousewheel. If you really want to use the event, you can enhance the Svelte typings:
// additional-svelte-jsx.d.ts
declare namespace svelte.JSX {
interface HTMLAttributes<T> {
onmousewheel?: (event: any) => any;
}
}
我想知道为什么这个代码
<div class="home" on:mousewheel="{e=>handleScroll(e)}"></div>
返回以下错误
Type '{ class: string; onmousewheel: (e: any) => void; }' is not assignable to type 'HTMLProps'. Property 'onmousewheel' does not exist on type 'HTMLProps'.
这只是出于好奇,因为即使出现错误,它也能完美运行。
Ps。我正在使用 TypeScript
我相信您正在寻找的事件是 onwheel,这将在 Svelte 中转换为 on:wheel
。
或者,如果您只对用于滚动目的的鼠标滚轮事件感兴趣,则正确的事件将是 onscroll(Svelte 中的 on:scroll
)。
Svelte deprecated according to MDN and won't work in Firefox. Because it's non-standard, it is not included in the JSX typings 使用鼠标滚轮事件。
最好在单独的文件中使用标准 wheel event, which replaced mousewheel. If you really want to use the event, you can enhance the Svelte typings:
// additional-svelte-jsx.d.ts
declare namespace svelte.JSX {
interface HTMLAttributes<T> {
onmousewheel?: (event: any) => any;
}
}