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

如何阻止冒泡&&浏览器默认行为

摘要 很多同学对阻止事件冒泡和阻止事件默认行为容易混淆,项目中因为一些原因也需要阻止浏览器一些默认行为,这里就简单总结一下。...阻止事件冒泡 什么是事件冒泡这里就不再赘述了,网上文章一大把,这里就简述一下如何阻止事件冒泡,阻止事件冒泡在使用浏览器原生API情况下,是需要分情况考虑,毕竟有个个性浏览器IE,这里分为IE实现和...可以尝试使用return false 阻止浏览器默认行为 在开始之前,首先需要了解什么是浏览器默认行为,我这里简单举几个例子: 点击a标签,如果设置了href会执行跳转 点击输入框,输入框会获取焦点...点击右键,会弹出浏览器右键菜单 点击submit,会提交其所在表单 点击checkbox 会选中或者反选 还有其他很多,这里就不一一列举了 同样对于阻止浏览器默认行为实现也分为W3C标准实现和IE...console.dir(event); } } document.addEventListener('wheel', preventCancelableEvents); # 总结 阻止默认冒泡和阻止浏览器默认行为需要关注是兼容性问题

2.1K40

js 停止事件冒泡 阻止浏览器默认行为

在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”。...浏览器默认行为: 在form中按回车键就会提交表单;单击鼠标右键就会弹出context menu. a标签 1..停止事件冒泡 JavaScript代码 1 //如果提供了事件对象,则这是一个非IE浏览器...否则,我们需要使用IE方式来取消事件冒泡 7 window.event.cancelBubble = true; 8 return false; 2.阻止浏览器默认行为 JavaScript代码...2、使用原生javaScript,在事件处理程序中返回false只会阻止浏览器默认行为,而事件冒泡依然存在。 3、浏览器默认行为和事件冒泡是相互独立。阻止事件冒泡不会影响默认行为,反之亦然。...注意: 有一些浏览器行为是在事件处理程序执行前发生,也就是说这些默认行为是无法取消,如:在大部分浏览器上鼠标移到一个超链接上超链接样式会发生改变,这个动作是发生在focus事件之前,是focus

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

    移动端click事件300ms延迟

    因此,浏览器就等待 300 毫秒,以判断用户是否再次点击了屏幕。 也就是说,移动端浏览器会有一些默认行为,比如双击缩放、双击滚动。...这些行为,尤其是双击缩放,主要是为桌面网站在移动端浏览体验设计。而在用户对页面进行操作时候,移动端浏览器会优先判断用户是否要触发默认行为。...解决方案 禁用缩放 对于不需要缩放页面,通过设置meta标签禁用缩放,表明这个页面是不需要缩放,双击缩放就没有意义了。此时浏览器可以禁用默认双击缩放行为并且去掉300ms点击延迟。...,而随着响应式设计普及,很多站点都已经对移动端坐过适配和优化了,这个时候就不需要双击缩放了,如果能够识别出一个网站是响应式网站,那么移动端浏览器就可以自动禁掉默认双击缩放行为并且去掉300ms点击延迟...这个方案相比方案一好处在于,它没有完全禁用缩放,而只是禁用了浏览器默认双击缩放行为,但用户仍然可以通过双指缩放操作来缩放页面。不足在于其他浏览器支持有限。

    2.8K21

    因Edge文件权限与IE发生冲突可导致XXE攻击

    目前,虽然微软还未修复该漏洞,但已发布了一个微密码,可拒绝远程攻击者泄漏本地文件以及限制在本机活动。...关于该漏洞,研究人员专门发布了一个视频用于展示如何利用: 漏洞简介 当用户在打开使用Edge浏览器下载特制MHT文件时,该漏洞便可启动。...由于此类文件是MHTML Web Archives,即IE浏览器用于保存网页默认格式,同时IE也是Windows系统中打开这类文件默认程序,因此不会被发现可疑内容。...因此,由于脚本与活动内容权限相同,无法进行提权或访问本机资源行为。...Kolsek表示,Edge正在使用该功能进一步加强已保存文件安全性,以防止在低完整性沙箱中出现执行恶意代码行为

    57630

    300ms点击延迟

    300ms点击延迟 移动端300ms点击延迟是因为移动端可以进行双击缩放操作,因此浏览器在click之后要等待300ms,看用户有没有下一次点击,也就是判断这次操作是单击还是双击。...,此时由于A元素消失,那么click事件便落到了B元素上,如果B元素是个链接或者绑定了click事件,那么B元素默认行为或者是绑定事件回调便会意外地触发,这就是点击穿透问题,解决这个问题还是需要解决...解决方案 禁止缩放 通过完全禁止缩放来使双击缩放功能失效,此时浏览器就可以禁用默认双击缩放行为并且去掉300ms点击延迟,但是在这种情况下双指缩放功能也会失效。...浏览器在包含width=device-width也就是视口宽度=设备宽度或者设置为比viewport值更小页面上禁用双击缩放行为,没有双击缩放就没有300ms点击延迟,这种方案没有完全禁用缩放,而是禁用浏览器默认双击缩放行为... touch-action CSStouch-action属性用于设置触摸屏用户如何操纵元素区域

    1.2K20

    jimojianghu

    因为笔记本触摸板双指滑动,将响应该事件,如果对该事件阻止默认行为,就能解决缩放问题了。 注意: passive: false 必须使用,下面会介绍。...用于设置触摸屏用户如何操纵元素区域,允许你在触控时控制滚动操作。 例如,浏览器内置缩放功能。 这样做好处还有,它可以允许你自己实现这些手势。...manipulation 这是pan-x pan-y pinch-zoom别名。 浏览器只允许进行滚动和持续缩放操作,任何其它被auto值支持行为不被支持。...passived 实际上就是告诉浏览器,某个事件监听是否会使用 preventDefault 来阻止默认行为,便于浏览器优化性能。特别是浏览器优化页面滚动时性能,可以让页面滚动更顺滑。...由于目标被视为被动,因此无法在被动事件侦听器中阻止默认行为。 可能发生情景:移动端使用touch事件后,垂直平移时报错。

    3.8K00

    css学习笔记,持续记录。

    flex-shrink,默认为1,所有子元素长宽超出父元素时缩放占比(超出长宽除以所有子元素shrink加起来数量,就是单份缩放大小,为0时代表不进行缩放) flex-grow,默认为0,所有子元素长宽超出父元素时缩放占比...(超出长宽除以所有子元素shrink加起来数量,就是单份缩放大小,为0时代表不进行缩放) flex-basis,定义容器初始大小,默认为容器自身定义大小,未定义则跟随内容。...@font-face @font-face 中,- local()表示在本机(客户端)查找该字体,如果本机已经安装了,就不用下载了。...:focus-visible :focus-visible,当元素匹配:focus伪类并且客户端(UA)启发式引擎决定焦点应当可见(在这种情况下很多浏览器默认显示“焦点框”。)...(Block Containning Box)描述了元素跟其后代之间行为

    2.7K60

    什么是移动端开发【重点学习系列—干货十足–一万字详解】

    浏览器默认行为 为什么要阻止这些默认行为 如何阻止默认行为 后遗症 灵丹妙药 事件对象属性 touchstart 事件 touchmove 事件 触点对象 5-小案例(未完待续—后续补上) 6-适配...苹果内置和很多安卓浏览器不可用 itools 实时屏幕 - maximum-scale 最大缩放比例 - user-scalable 设置是否允许用户缩放 - 苹果内置浏览器不好使,...浏览器默认行为 这里指浏览器默认行为主要有两个 滑动露白 页面缩放 为什么要阻止这些默认行为 这样可以让网页在不同浏览器都有一样表现。...如何阻止默认行为 可以给 document 绑定 touchstart 事件,并阻止默认行为,不过需要关闭被动模式。这里推荐创建一个包裹元素,绑定 touchstart 事件并阻止默认行为。...『后遗症』原因在于 touchstart 阻止了默认行为,后续所有的操作都已经失效。

    2.5K21

    为什么你永远不应该在CSS中使用px来设置字体大小

    作者指出,相对于容器、浏览器或用户字体大小,px值是静态。无论用户字体偏好设置如何,当我们以静态像素设置值时,它将覆盖用户选择,以我们指定的确切值替代。...2rem 仍然是该字体大小两倍; 0.5rem 仍然是其一半。 相比之下, px 值是静态。无论容器、浏览器或用户字体大小如何, 20px 只是 20px 。...因此,虽然可能存在一些有效用例来解释这种行为,但它绝对不是你想要默认行为。 这也是避免使用视口单位(如 vw 或 vh )设置字体大小非常好理由。它们也是静态,用户无法覆盖。...超出字体大小差异 好,现在让我们谈谈当我们不特别处理 font-size 属性时, px 和 em / rem 如何变化。 开发人员通常通过缩放页面来进行测试,我认为这就是本文中心误解来源。...当你缩放时,所有内容都会被缩放(放大或缩小),在这种情况下,选择 px 或 em / rem 作为你CSS单位通常并不重要。就缩放而言,两者行为方式相同。

    1.8K20

    一款很棒GIF动画制作小软件GifCam

    另外两个帧速率选项可实现更流畅 gif: 默认为 10 FPS(0.1 秒延迟)。 16 FPS(0.06 秒延迟)在所有主要浏览器中可接受最小延迟。...33 FPS(0.03 秒延迟)现代浏览器中可接受最小延迟,请注意,某些浏览器不接受帧之间 0.03 延迟并将其四舍五入为 10 FPS(0.1 秒延迟)。...录制不同帧尺寸(录制时调整大小)。 1 Gigabyte 内存使用限制:防止系统变慢。 在调整应用程序大小时获取记录区域尺寸。 其他错误修复和调整。...:GifCam 6.0 可缩放以适应显示分辨率。...保存最后位置选项:如果未选中此选项,则 gifcam 应用程序将在桌面中央打开。 无论系统字体大小如何,帧和延迟标签之间自动间距。 修复了 Windows XP 右键菜单。

    2.4K20

    threejs中OrbitControls用法

    OrbitControls 是 Three.js 库中一个非常流行相机控制组件,它允许用户通过鼠标(或触控设备)来旋转、缩放和平移场景中相机,从而从不同角度和距离观察场景。...下面是如何在 Three.js 中使用 OrbitControls方法:1. 引入 OrbitControls首先需要从 Three.js CDN 或本地路径中引入 OrbitControls。...渲染循环在渲染循环中,调用 controls.update() 来确保控制器正确响应用户鼠标行为。...此外,需要注意是:threejs开发项目,是JS语法、运行于浏览器,他人只需在浏览器中右键查看网页源码,便可得获得源码,可以分析功能逻辑、可以复制、可以运行调试。...为了防止代码被任意分析、复制、盗用。

    10710

    Cypress系列(40)- viewport() 命令详解

    作用 控制浏览器窗口尺寸和方向 重点 也可以通过在配置项中定义 viewportWidth 和 viewportHeight 来全局设置浏览器窗口宽度和高度 默认宽高:1000px * 660px...默认:纵向, portrait 可改横向, landscape preset 预设值,Cypress 提供了以下预设值 预设值 宽度 高度 ipad-2 768 1024 ipad-mini...重要事项 独立命令 cy.viewport() 后面不能再链接其他命令 自动缩放 默认情况下,如果屏幕不够大,无法显示应用程序所有像素,则 Cypress 会将应用程序缩放并居中,以适应 Cypress...Test Runner 缩放应用程序不会影响应用程序任何计算或行为 自动缩放好处:无论屏幕大小如何,测试都始终通过或失败;测试最终在 CI 中运行,因此无论 Cypress 在什么计算机上运行,所有...结尾 我博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?

    1.3K20

    面试官:DTD 有什么作用?

    这个声明目的是防止浏览器在渲染文档时,切换到我们称为“怪异模式(兼容模式)”渲染模式。 “" 确保浏览器按照最佳相关规范进行渲染,而不是使用一个不符合规范渲染模式。 什么是怪异模式?...在标准模式下,行为即(但愿如此)由 HTML 与 CSS 规范描述行为。 使用时需要注意什么?...那是因为各个浏览器都自带有相应标签默认样式,为了方便在没有设定样式情况下友好展示页面。良好语义化代码可以直接从代码上就能看出来那一块到底是要表达什么内容。 为什么要使用HTML语义化标签?...2.有利于不同设备解析(屏幕阅读器,盲人阅读器等)满是div页面这些设备如何区分那些是主要内容优先阅读? 3.有利于构建清晰机构,有利于团队开发、维护。...,可以带小数 minimum-scale允许用户最小缩放值,为一个数字,可以带小数 maximum-scale允许用户最大缩放值,为一个数字,可以带小数 height设置layout viewport

    1K10
    领券