提交 84468553 编写于 作者: fxy060608's avatar fxy060608

fix(app): html element with event (#3240)

上级 8e196464
......@@ -19,11 +19,15 @@ export function $nne(
if (!(evt instanceof Event) || !(currentTarget instanceof HTMLElement)) {
return [evt]
}
if (currentTarget.tagName.indexOf('UNI-') !== 0) {
return [evt]
const isHTMLTarget = currentTarget.tagName.indexOf('UNI-') !== 0
// App 平台时不返回原始事件对象 https://github.com/dcloudio/uni-app/issues/3240
if (__PLATFORM__ === 'h5') {
if (isHTMLTarget) {
return [evt]
}
}
const res = createNativeEvent(evt)
const res = createNativeEvent(evt, isHTMLTarget)
if (isClickEvent(evt)) {
normalizeClickEvent(res as unknown as WechatMiniprogram.Touch, evt)
......@@ -54,12 +58,19 @@ function findUniTarget(target: HTMLElement): HTMLElement {
return target
}
export function createNativeEvent(evt: Event | TouchEvent) {
export function createNativeEvent(
evt: Event | TouchEvent,
htmlElement: boolean = false
) {
const { type, timeStamp, target, currentTarget } = evt
const event = {
type,
timeStamp,
target: normalizeTarget(findUniTarget(target as HTMLElement)),
target: normalizeTarget(
htmlElement
? (target as HTMLElement)
: findUniTarget(target as HTMLElement)
),
detail: {},
currentTarget: normalizeTarget(currentTarget as HTMLElement),
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册