[英]Typescript 3 Angular 7 StopPropagation and PreventDefault not working
[英]preventdefault and stoppropagation not working with pointermove
我正在制作一個可在HTML5 canvas
內繪制的應用程序,但無法在移動設備或平板電腦上完成。
當按下時,我無法避免瀏覽器的本機滾動或鑲邊刷新
我在jsfiddle中創建了一個示例,因此您可以看到它。
要取消默認的UA行為,您需要將CSS屬性touch-action: none
到canvas元素。
touch-action
指定HTML元素是否以及如何響應手勢。 使用touch-action: none
沒有觸發任何UA行為(例如,拖動或縮放)。 默認屬性是touch-action: auto
,它允許觸發所有UA行為。
這看起來像是一個真正的Chrome錯誤,我將使用您的示例代碼進行報告。 如果您想在JavaScript中動態地決定是否使用自己的代碼來處理pointerMove與允許本地瀏覽器來處理,則在CSS中設置觸摸動作不是解決方案。
如果將觸摸操作設置為“無”,則本機瀏覽器處理將永遠不會運行。 相反,正如您所報告的那樣,沒有觸摸操作設置(相當於默認的“自動”)將無法正常工作,因為Chrome會忽略對pointerMove上的preventDefault()的調用,並且仍會調用pointerCancel-一個錯誤。
請注意,如果改為使用passive:false標志為touchMove添加偵聽器,則preventDefault()將按預期工作,從而避免了touchCancel。 但是,您必須使用單獨的鼠標事件和觸摸事件偵聽器,而這正是通過使用指針事件來避免的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.