首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

script 标签属性、事件探究

defer 在页面完成解析才执行代码(图片资源还没下载,只是 dom 加载完毕),带 defer 属性 script,下载 script 时候是异步,下载好之后,等待解析 dom 完毕才执行 这个属性表明脚本在执行时不会影响页面的构造...script 时候是异步,但是只要 script 文件下好了,那么就马上执行(如果此时 dom 未加载完毕,就会阻塞 dom 解析) 一般 script 标签都是会阻塞页面执行,一般用在不需要操作...属性 script,在 html 解析中,html 会在 script 下载或执行时候,都会暂停解析 带 async 属性 script,如图所示,也就是下载 script 时候是异步,但是只要...script 文件下好了,那么就马上执行,执行过程中会阻塞 html 解析 带 defer 属性 script,下载 script 时候是异步,下载好之后,等待解析 dom 完毕才执行 区别 没有...var script = document.createElement('script'); script.type = "text/javascript"; script.src = "file1.js

1.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

Js - JQ事件委托( 适用于给动态生成脚本元素添加事件

最近一段时间打了一个大仗,现在总算消停点,才有时间来做个总结吧算是: 移动端遇到一个项目,是一个列表侧滑栏,在我这里用jq写交互事件。自测各方面都挺好,美滋滋给了研发。...研发也美滋滋开始开发。 但是,好景不长。。。 研发加了ajax事件后,我交互效果有部分受了影响! 一个小姑娘,在一群大老爷们研发堆里,对着昏暗电脑和看不太懂后台代码,改了半天。最后没解决。...所以一开始事件找不到“接头人”就没有执行。 扫噶,定位到问题,就好解决了。 之所以整理成随笔,是因为我之前没遇到过这个问题,听过事件委托机制,但是根本没研究过不知道适用于什么样bug场景。...正规点说:JS异步加载,JQ事件不被执行解决方法(百度标题,hah) jquery中动态新增元素节点无法触发事件问题(同上) 解决方法: ? ?...值得注意是:亲测此方法无效,可能是我用jq版本太高了,1.9多,已经不支持这个方法了 第二个方法: ? 但是缺点是:给一个元素添加多个事件委托机制时,他就挂了。  王者方法:on ?

4.8K50

Js 事件委托(事件代理)

这里其实还有2层意思: 第一,现在委托前台同事是可以代为签收,即程序中现有的dom节点是有事件; 第二,新员工也是可以被前台MM代为签收,即程序中新添加dom节点也是有事件。...二、为什么是使用事件委托 一般来说,dom需要有事件处理程序,我们都会直接给它设事件处理程序就好了,那如果是很多dom需要添加事件处理呢?...比如我们有100个li,每个li都有相同click点击事件,可能我们会用for循环方法,来遍历所有的li,然后给它们添加事件,那这么做会存在什么影响呢?...在JavaScript中,添加到页面上事件处理程序数量将直接关系到页面的整体运行性能,因为需要不断与dom节点进行交互,访问dom次数越多,引起浏览器重绘与重排次数也就越多,就会延长整个页面的交互就绪时间...,这就是为什么性能优化主要思想之一就是减少DOM操作原因;如果要用事件委托,就会将所有的操作放到js程序里面,与dom操作就只需要交互一次,这样就能大大减少与dom交互次数,提高性能; 每个函数都是一个对象

11.4K30

如何实现动态添加元素添加点击事件

在页面开发过程中常常遇到需要动态添加元素,然后给这一元素绑定相关事件情况,这种情况下一般需要给元素加上相关属性,然后写这些元素事件函数即可。动态添加元素怎么绑定事件呢?...原生JavaScript 原生JavaScript主要有2种实现方式,第一种是在动态添加html代码中添加oclick事件,然后传递一个唯一参数来判断点击是哪个,然后做相应操作。...第二种是通过事件委托原理进行处理,事件委托将一个 事件监听器实际上绑定到整个容器,然后每个列表项被点击就可以访问,这样效率更高。...该事件附加到staticAncestors应处理元素静态父级 ( )。 每次在此元素或后代元素之一上触发事件时,都会触发此 jQuery 处理程序。...然后处理程序检查触发事件元素是否与您选择器 ( dynamicChild)匹配。当匹配时,您自定义处理程序函数将被执行。

3.7K20

js事件(event)

什么是事件: 我们可以简单事件理解为浏览器感知系统。...当然我们也可以不给事件绑定处理方法,也就是说当此事件发生时候,什么也不需要做,事件常有,而事件上绑定方法不一定有, 我们给页面中元素某个事件绑定处理方法时候。...,相当于文档中鼠标的坐标; target事件源;事件概念:事件最终发生在页面的那个元素上; 事件源和事件传播是息息相关 事件传播包括:冒泡和捕获;事件传播是浏览器在处理事件行为机制,冒泡阶段或者捕获阶段...;当你在一个form表单里点击提交按钮时网页会产生一个行为病刷新网页,当你网页上滚动鼠标滚轮时候,页面的滚动条会滚动等等;这些都叫事件默认行为,如果想把这些默认行为取消了,相应js代码如下: a.onclick...事件委托: 事件委托是利用事件传播机制,通过判断事件源来实现,是一种高性能事件处理方式。对事件委托好处和概念详见《高程3》第402页; 我们通过一个简单示例来看看事件好处。

6.6K30

html js 数组添加,js数组添加数据

大家好,又见面了,我是你们朋友全栈君。 我们在学习python过程中,会对列表、字符串添加数据。在Javascript中,我们也会对数组添加数据。在不同位置添加数据有着不同方法。...本文介绍js数组添加数据三种方法:1、结尾添加push()方法;2、头部添加unshift() 方法;3、向/从数组指定位置添加/删除项目,然后返回被删除项目splice() 方法。...可添加多个元素。 3、返回值 把指定添加到数组后新长度。...向数组添加第一个元素。 b:可选。向数组添加第二个元素。 c:可选。可添加若干个元素。 3、返回值 arrayObject 新长度。...tony alert(arr.splice(1,0,’tony’)) //返回值为空 alert(arr) // smile,tony,2,3,marie 以上就是js数组添加数据四种方法,大家可以根据在不同位置添加数据选择不同方法哦

26K10

JS 事件循环

,脚本执行,事件处理等 其包含线程有:GUI 渲染线程(负责渲染页面,解析 HTML,CSS 构成 DOM 树)、JS 引擎线程、事件触发线程、定时器触发线程、http 请求线程等主要线程 关于执行中线程...: 主线程:也就是 js 引擎执行线程,这个线程只有一个,页面渲染、函数处理都在这个主线程上执行。...工作线程:也称幕后线程,这个线程可能存在于浏览器或js引擎内,与主线程是分开,处理文件读取、网络请求等异步事件。...宏任务主要包含:script( 整体代码)、setTimeout、setInterval、I/O、UI 交互事件、setImmediate(Node.js 环境) 微任务主要包含:Promise、MutaionObserver...、process.nextTick(Node.js 环境) setTimeout/Promise 等API便是任务源,而进入任务队列是由他们指定具体执行任务。

15.4K10
领券