ElemeFE / ElemeFE/element

[Bug Report] at src/util/dom.js, is that the correct way to check for attachEvent() availability? or the correct method in server.

Open
#20,169 1 comment 0 reactions 0 assignees View on GitHub
stale
Dominant language
Vue
Stars
54k
Forks
14.4k
PR merge metrics
No merged PRs in 30d

Description

### Element UI version
2.13.2

### OS/Browsers version
MacOS

### Vue version
2.6.12

### Reproduction Link
https://github.com/ElemeFE/element/blob/04b5f0d2c042fb1efabaebe40749287761c14a21/src/utils/dom.js#L23

### Steps to reproduce
nothing

### What is Expected?
```javascript
export const on = (function() {
if (!isServer && document.addEventListener) {
return function(element, event, handler) {
if (element && event && handler) {
element.addEventListener(event, handler, false);
}
};
} else {
return function(element, event, handler) {
if (element && event && handler) {
element.attachEvent('on' event, handler);
}
};
}
})();

/* istanbul ignore next */
export const off = (function() {
if (!isServer && document.removeEventListener) {
return function(element, event, handler) {
if (element && event) {
element.removeEventListener(event, handler, false);
}
};
} else {
return function(element, event, handler) {
if (element && event) {
element.detachEvent('on' event, handler);
}
};
}
})();
```

when the $isServer is true, is this the correct way to execute on/off behavior in server?

### What is actually happening?
could i change it to this?

```javascript
if($isServer) return
if(document.addEventListener){
//...
}
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.