vue点击页面空白处实现保存功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
<人物> 图> <强>功能描述强>
双击表格一行实现表格编辑,点击空白处实现保存。
表格可编辑相关文章在可编辑表格
<强>实现思路强>
当表格在编辑状态的时候在页面进行点击监听,判断点击区域是否为编辑区域,如果不是编辑区域实现保存功能并取消点击监听
<强>功能点一:页面监听与取消接听强>
//,通过addEventListener与removeEventListener实现 document.addEventListener (“click",函数,,假); document.removeEventListener (“click",函数,,假),
<强>功能点二:判断点击区域是否为可编辑区域强>
该功能点有一定难度,首先你需要判断点击区域是否为表格区域,其次你要判断点击的区域是否为编辑状态的呢一行,所以我分为两步去实现
1,判断点击区域是否为表格区域
该功能点通过包含接口实现。判断条件为<强> tableDom.contains(目标)>强;该接口可以判断目标是否为tableDom的子节点。
//,首先通过addEventListener 传入点击的dom区域 document.addEventListener ( ,“click",=,e 祝辞,{ this.judgeClickDom才能(e); }, ,假 ,);//,this.bindClick是为了取消监听,下文会进行描述//,判断点击是否为表区域 judgeClickDom (e), { {,const target },=, e; ,let tableDom =, document.getElementsByClassName (“table"); ,//,getElementsByClassName获取到的是数组,一定要有下标不然会报的错//,如果我们点击的区域在表格外保存数据 (!,if  tableDom [0] .contains(目标),{ ,this.saveTableData (); ,} },
2。判断点击区域是否为编辑状态的那一行
该功能借助了元素框架,如何标记编辑状态行,在可编辑表格中已有介绍
取消监听
由于我们监听点击时使用的是箭头函数,没有函数名或者函数表达式,所以在取消监听的时候会出现问题。我的解决方案是给他绑定一个全局变量bindClick。代码如下
//,开始监听 document.addEventListener (“click" ,(this.bindClick =, e =祝辞,{ ,,… ,}) );//,取消监听 document.removeEventListener (“click", this.bindClick);
关于vue点击页面空白处实现保存功能问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。