WebAPI
学习记录
心刻
这个作者很懒,什么都没留下…
展开
-
offsetWidth或者clientWidth获取不到,值为0的坑
遇到的问题:今天在练习写一个自定义右键多级菜单的时候,遇到一个问题,就是第三级的子菜单定位不对,这个定位是依据父菜单的offsetWidth来确定的。打印了一下offsetWidth的值,一直都是0;在这里卡了很久。后来去搜索,原来元素不显示的时候offsetWidth的值是获取不到的,为0;但是我的三级子菜单是在二级子菜单显示的情况下才出现的。后来分析才发现,在显示三级子菜单之前会将所有菜单隐藏,然后通过事件冒泡显示三级菜单,再显示二级菜单,因此我就获取不到二级菜单的offsetWidth。所以我解决原创 2020-05-21 17:49:56 · 9285 阅读 · 1 评论 -
表单中禁止输入框的内容复制和粘贴
var ipt = document.getElementByID('input');ipt.oncopy = ipt.onpaste = function(){ return false;}原创 2020-05-19 12:11:46 · 503 阅读 · 0 评论 -
移动端 click 事件延时解决方案
移动端 click 事件会有 300ms 的延时,原因是移动端屏幕双击会缩放(double tap to zoom) 页面。解决方案:1,禁用缩放。 浏览器禁用默认的双击缩放行为并且去掉300ms 的点击延迟。 <meta name="viewport" content="user-scalable=no">2,利用touch事件自己封装这个事件解决300ms 延迟。 原理就是:当我们手指触摸屏幕,记录当前触摸时间当我们手指离开屏幕, 用离开的时间减去触摸的时间如果时间小于原创 2020-05-09 17:43:27 · 419 阅读 · 0 评论 -
JavaScript防止事件冒泡函数
// 参数e 是事件对象function stopPropagation(e) { e = e || window.event; if(e.stopPropagation) { //W3C 阻止冒泡方法 e.stopPropagation(); } else { e.cancelBubble = true; //IE 阻止冒泡方法 }}...原创 2020-04-19 15:13:50 · 210 阅读 · 0 评论 -
三种动态创建元素区别
document.write()element.innerHTMLdocument.createElement()区别document.write 是直接将内容写入页面的内容流,但是文档流执行完毕,则它会导致页面全部重绘innerHTML 是将内容写入某个 DOM 节点,不会导致页面全部重绘innerHTML 创建多个元素效率更高(不要拼接字符串,采取数组形式拼接),结构稍微复杂...原创 2020-05-06 17:43:07 · 160 阅读 · 0 评论 -
自定义属性的操作
获取属性值方法1,element.属性方法2,element.getAttribute('属性');区别:element.属性 获取内置属性值(元素本身自带的属性)。它不能获取到自定义属性。如果用它获取自定义属性,即使自定义属性有值也是返回undefinedelement.getAttribute(‘属性’);主要获得自定义的属性 (标准) 我们程序员自定义的属性。虽然它也可以获取到...原创 2020-05-05 17:34:44 · 463 阅读 · 0 评论