Skip to content

Commit

Permalink
fix: 修复部分 dom 内置事件无法绑定的问题
Browse files Browse the repository at this point in the history
  • Loading branch information
dntzhang committed Sep 9, 2023
1 parent cf37491 commit 977a66e
Show file tree
Hide file tree
Showing 12 changed files with 74 additions and 21 deletions.
23 changes: 18 additions & 5 deletions packages/omi/dist/omi.dev.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/omi/dist/omi.dev.js.map

Large diffs are not rendered by default.

23 changes: 18 additions & 5 deletions packages/omi/dist/omi.esm.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/omi/dist/omi.esm.js.map

Large diffs are not rendered by default.

17 changes: 15 additions & 2 deletions packages/omi/dist/omi.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/omi/dist/omi.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/omi/dist/omi.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/omi/dist/omi.min.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion packages/omi/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "omi",
"version": "6.25.20",
"version": "6.25.21",
"description": "Front End Cross-Frameworks Framework.",
"main": "dist/omi.js",
"jsnext:main": "dist/omi.esm.js",
Expand Down
14 changes: 14 additions & 0 deletions packages/omi/src/constants.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,19 @@ export const ASYNC_RENDER = 3

export const ATTR_KEY = 'prevProps'

export const DOM_EVENT_MAP = {
onanimationcancel: 1,
oncompositionend: 1,
oncompositionstart: 1,
oncompositionupdate: 1,
onfocusin: 1,
onfocusout: 1,
onscrollend: 1,
ontouchcancel : 1,
ontouchend: 1,
ontouchmove: 1,
ontouchstart: 1
}

// DOM properties that should NOT have "px" added when numeric
export const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i
4 changes: 2 additions & 2 deletions packages/omi/src/dom/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { IS_NON_DIMENSIONAL } from '../constants'
import { IS_NON_DIMENSIONAL, DOM_EVENT_MAP } from '../constants'
import { applyRef } from '../util'
import options from '../options'
import { extension } from '../extend'
Expand Down Expand Up @@ -138,7 +138,7 @@ function eventProxy(e) {
function bindEvent(node, name, value, old) {
let useCapture = name !== (name = name.replace(/Capture$/, ''))
let nameLower = name.toLowerCase()
name = (nameLower in node ? nameLower : name).slice(2)
name = ((DOM_EVENT_MAP[nameLower] || nameLower in node) ? nameLower : name).slice(2)
if (value) {
if (!old) {
node.addEventListener(name, eventProxy, useCapture)
Expand Down
2 changes: 1 addition & 1 deletion packages/omi/src/omi.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ const omi = {

options.root.Omi = omi
options.root.omi = omi
options.root.Omi.version = '6.25.20'
options.root.Omi.version = '6.25.21'

export default omi

Expand Down

0 comments on commit 977a66e

Please sign in to comment.