js
oursdreams
这个作者很懒,什么都没留下…
展开
-
JS 复制后修改复制内容
浏览器支持程度不同,不过主流浏览器基本都OK场景因内部元素的问题,复制后粘贴的文本总是会被换行,需要做优化处理代码:document.oncopy = () => {// 监听浏览器复制事件 event.preventDefault();//阻止默认事件,防止复制真实发生 let content = window.getSelection().toString();//获取复制的文本值 event.clipboardData.setData("t原创 2021-04-15 13:54:57 · 953 阅读 · 0 评论 -
原生JS table浮动表头 结合VUE使用
实现思路:写了三版,主要还是使用了sticky进行定位一. 事件监听建立一个table,正常设置表头加载时使用JS拷贝表格及其表头仅用于浮动使用全局滚动监听,切换两个表头的显示状态建立两套全选事件,正常的vue全选与拷贝浮动表头的JS操作DOM元素全选缺点:实现臃肿,因为两套表格左右滚动对齐需要手动设置偏移量二. 使用CSS粘性定位粘性定位要求的块级元素,table tr th无法使用粘性定位position: sticky;position: -webkit-sticky;top:原创 2021-04-13 13:31:45 · 439 阅读 · 0 评论 -
JS 为一组子节点添加父节点(包含本身文本节点)
在父节点下建立新的节点当作原有子节点的父节点//假设这是原有父节点let parent = document.getElementById("xxx");//或者此为子节点的话用 parent.parentElement 来获取父节点//创建新的父节点let div = document.createElement("div");for (let i=parent.childNodes.length-1;i>=0;i--){ div.appendChild(parent.child原创 2021-04-07 16:58:57 · 1317 阅读 · 1 评论 -
pjax重复加载js
在pjax中判断是否已经引入绑定事件的js,如果已经引入则不再重复引入。$(document).ready(function() { //避免pjax重复加载js导致事件重复绑定 if (typeof (isLoad) != "undefined") { return; } isLoad=true; }...原创 2020-11-23 22:40:00 · 363 阅读 · 0 评论 -
Uncaught SyntaxError: Lexical declaration cannot appear in a single-statemen
如果没有大括号,JavaScript 引擎就认为不存在块级作用域。原创 2020-08-28 15:19:04 · 3237 阅读 · 0 评论 -
VUE允许textarea,input等标签内使用TAB进行缩进
允许TAB缩进而不是移到下一个元素使用@keydown.tab与@keyup.tab,因keyup发生在页面默认行为后,所以在keydown事件内阻止页面默认行为挂载事件:<textarea v-model="text" @keydown.tab="forbidTab($event)" @keyup.tab="replaceSpacing()"></textarea>阻止默认行为监听tabforbidTab(e){ e.preventDefault();},r原创 2020-08-25 10:22:20 · 1434 阅读 · 0 评论 -
前端,JS排序,正序逆序,基数排序
排序算法很多,这里选用基数排序,不同的是考虑到之后扩展特殊字符,中文等在此多定义一个基数池。var result = [];var type = true;function sort(array , column , i) { let data = {}; data['0']='';data['1']='';data['2']='';data['3']='';data['4']='';data['5']='';data['6']='';data['7']='';data['8']='原创 2020-08-06 17:02:24 · 648 阅读 · 0 评论