常用操作
# 通过鼠标坐标获取当前DOM对象
const x = event.pageX || event.clientX + document.body.scroolLeft;
const y = event.pageY || event.clientY + document.body.scrollTop;
const dom = document.elementFromPoint(x,y);
1
2
3
2
3
# 处理富文本内容中的图片地址为完整地址
const baseUrl = 'http://localhost'
const res = content.replace(/<(img [^>]*)src=['"]([^'"]+)['"]([^>]*)>/gi, function(match, p1, p2, p3){
let url = (function (){
if(!p2){
return ''
}
if(p2.indexOf('http') === 0 || p2.indexOf('blob:') === 0){
return p2
} else if(p2.indexOf('/') === 0){
return baseUrl + p2
}
return baseUrl + '/' + p2
})();
var newStr = `<${p1} src="${url}" ${p3}>`
return newStr
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# input输入为金额,保留两位小数
/** 输入 */
function onkeyup (e) {
value = value.replace(/[^\d\.]/g,'') // 只能输入数字和小数点
.replace(/^\./g,'') // 过滤开头的小数点
.replace(/\.{2,}/g,'.') // 多个连续小数点合并为一个
.replace('.','$#$').replace(/\./g,'').replace('$#$','.') // 保留第一个小数点,删除其他的小数点
.replace(/^0(\d+)/, '$1') // 过滤开头的0
.replace(/^(\d+)\.(\d\d).*$/, '$1.$2') // 保留两位小数
return value
}
/** 失去焦点 */
function onblur (e) {
value = value.replace(/[^\d\.]/g,'') // 只能输入数字和小数点
.replace(/^\./g,'') // 过滤开头的小数点
.replace(/\.{2,}/g,'.') // 多个连续小数点合并为一个
.replace('.','$#$').replace(/\./g,'').replace('$#$','.') // 保留第一个小数点,删除其他的小数点
.replace(/^0(\d+)/, '$1') // 过滤开头的0
.replace(/^(\d+)\.(\d\d).*$/, '$1.$2') // 保留两位小数
// 输入0的时候转成空或者可自行调节 0.00 看需求
if(input.value === '0'){
input.value=''
}
// 把 123. 的数据转成 123
if(input.value.split('.')[1]==''){
input.value=input.value.split('.')[0]
}
return value
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 百度坐标转高德(传入经度、纬度)
function bd_decrypt(bd_lng, bd_lat) {
var X_PI = Math.PI * 3000.0 / 180.0;
var x = bd_lng - 0.0065;
var y = bd_lat - 0.006;
var z = Math.sqrt(x * x + y * y) - 0.00002 * Math.sin(y * X_PI);
var theta = Math.atan2(y, x) - 0.000003 * Math.cos(x * X_PI);
var gg_lng = z * Math.cos(theta);
var gg_lat = z * Math.sin(theta);
return {lng: gg_lng, lat: gg_lat}
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 高德坐标转百度(传入经度、纬度)
function bd_encrypt(gg_lng, gg_lat) {
var X_PI = Math.PI * 3000.0 / 180.0;
var x = gg_lng, y = gg_lat;
var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * X_PI);
var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * X_PI);
var bd_lng = z * Math.cos(theta) + 0.0065;
var bd_lat = z * Math.sin(theta) + 0.006;
return {
bd_lat: bd_lat,
bd_lng: bd_lng
};
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
上次更新: 2022/04/06, 17:04:00