首页
学习
活动
专区
圈层
工具
发布

让 touch 系列事件触发的滚动响应更快

1写在前面 我们都知道,对于移动端的网页而言,滚动是十分重要的交互。 然而 touch 系列事件触发(滚动后)经常会引发严重的性能问题。...当你注册 touch 系列事件的监听器时,加入{passive: true}对象作为第三个参数后,浏览器就认为你不会在事件处理函数中调用 preventDefault(),它就可以安全地让页面滚动,不再等待事件处理函数执行完...但是如果 BUG 真的出现了,最常见问题是当你不希望页面发生滚动时却发生了。...开发者在需要时,应该在 touch 系列事件发生前,使用touch-action这一 CSS 属性去阻止某元素滚动或缩放。...只有在为了阻止之后的默认行为(如将要触发的click事件)时,才应该在touchend的事件处理函数中调用preventDefault()。

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

    代码触发,手动触发touchstart事件,touch事件,click事件,自定义事件

    工作中有时候会用到需要用代码去手动触发某个事件或者是自定义事件,通常触发click事件的做法为eleme.click(),遇到touchstart就行不通了。...可以使用以下方式 // 创建事件. var event = document.createEvent('Events'); // 初始化一个点击事件,可以冒泡,无法被取消 event.initEvent...e.target 就是监听事件目标元素 }, false); // 触发事件监听 elem.dispatchEvent(event); initEvent已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它...new Event('touchstart'); //监听 elem.addEventListener('touchstart', function (e) { ... }, false); // 触发...('CustomEvent', function (e) { ... }, false); // 触发event elem.dispatchEvent(event); 发布者:全栈程序员栈长,转载请注明出处

    6.4K30

    onbeforeunload事件_pageload事件何时触发

    beforeunload事件 简介 当窗口,文档及其资源即将卸载时,将触发该事件。该文档仍然可见,此时事件仍可取消。...如果未提供任何值,则以静默方式处理事件。 注意:为了防止不需要的弹出窗口,浏览器可能不会显示在beforeunload事件处理程序中创建的提示,除非页面已与之交互,甚至根本不显示它们。...一定要与页面进行交互之后,才能在页面卸载的时候弹出确认离开的对话框;没有进行页面交互,也是会触发beforeunload事件的,只是不会弹出确认离开的对话框。...type 只读 DOMString 事件的类型。 bubbles 只读 Boolean 事件通常会冒泡吗? cancelable 只读 Boolean 可以取消活动吗?...window.addEventListener("beforeunload", function (event) { event = event || window.event; event.preventDefault(); }); 事件触发场景

    4.2K20

    input输入中文时,拼音触发input事件

    在上一篇文章中写到了函数防抖,在使用函数防抖来进行搜索框优化的时候会遇到一个问题,就是监听文本输入框的input事件,在拼写汉字(输入法)但汉字并未实际填充到文本框中时会触发input事件,会出现下图的效果...这是我们不希望看到的,我们希望得到的效果是汉字输入进去以后再触发事件。 通过查询,我发现input有两个事件:compositionstart和compositionend。...在输入中文(包括语音识别时)会先后触发compositionstart、compositionend事件,类似于keydown和keyup的组合。...来看一下关于两个事件的介绍: compositionstart:事件触发于一段文字的输入之前(类似于 keydown 事件,但是该事件仅在若干可见字符的输入之前,而这些可见字符的输入可能需要一连串的键盘操作...个人可以理解为输入拼音状态开始执行的事件 compositionend:当文本段落的组织已经完成或取消时,会触发该事件。这个个人可以理解为输入拼音结束,按下空格将汉字输入完成以后执行的事件。

    9.3K20

    双击事件(dblclick)时,不触发鼠标按下(mousedown) 动作事件

    在一个dom节点的事件绑定中,如果同时绑定了dblclick和mousedown那么想要执行双击事件(dblclick)时能就会触发两次mousedown事件。...因此,触发顺序是,mousedown首先触发,mouseup接着触发,click最后触发。 dblclick事件则会在mousedown、mouseup、click之后触发。...mouseover事件和mouseenter事件,都是鼠标进入一个节点时触发。...两者的区别是,mouseenter事件只触发一次,而只要鼠标在节点内部移动,mouseover事件会在子节点上触发多次。...在单击的时候(也就是鼠标按下的时候)不会执行双击,但是双击的时候会执行两次单击再执行双击事件。 解决的思路:要想双击时不执行单击事件,就使用定时器清除掉两个单击事件,留下一个双击事件。

    2.2K20

    Jenkins触发构建--事件触发

    事件触发 事件触发就是发生了某个事件就触发pipeline执行,这个事件可以是你能想到的任何事件,比如手动在界面上触发、其它job主动触发、HTTP API Webhook触发等。...由上游任务触发 当B任务的执行依赖A任务的执行结果时,A就被称为B的上游任务。 在Jenkins 2.22及以上版本中,trigger指令开始支持upstream类型的触发条件。...threshold参数是指上游任务的执行结构是什么值时触发。...,看是否jenkins job被触发了 8.然后在gitlab项目中,随意修改个文件,看是否也能自动触发 9.参数含义 riggerOnPush: 当Gitlab触发push事件时,是否执行构建 triggerOnMergeRequest...: 当Gitlab触发mergeRequest事件时,是否执行构建 branchFilterType: 只有符合条件的分支才会触发构建,必选,否则无法实现触发。

    7.6K20

    探索 Flutter 模拟事件触发

    二、单击事件是如何触发的 1....回顾单击事件的触发 如下是点击加好按钮时 FloatingActionButton#onPressed 回调触发的方法栈情况,可以看到是在分发 PointerUpEvent 类型事件下触发单击事件的:...其实这也很好理解,在 《Flutter 手势探索 - 执掌天下》中介绍过单击事件的触发:一个单击事件的触发条件并非只是分发 PointerDownEvent 而已,TapGestureRecognizer...三、模拟事件触发的实现 如下效果所示:通过 模拟点击 可以点击右下角的加号按钮,从而让上面黄色区域内的数字自加;通过 模拟滑动 让列表滑动。这样我们就实现了通过代码来触发手势事件 。...滑动事件的触发 如下,滑动事件的触发关键点在于 tag1 处,通过 for 循环模拟 20 次 偏移量是 20 的向上滑动事件。

    3.6K20
    领券