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

JavaScript 编程精解 中文第三版 十五、处理事件

要注意什么时候输入了内容,每当用户更改其内容时,可以键入元素(例如和标签)触发"input"事件。为了获得输入实际内容,最好直接焦点字段中读取它。...该事件用处极多,比如知道用户当前查看元素(禁用用户视线以外动画,或向邪恶指挥部发送监视报告),或展示一些滚动迹象(通过高亮表格部分内容,或显示页码)。...属性指定为fixed时,行为和absolute很像,但可以防止在文档滚动时期跟着文档一起滚动。...实际上,事件处理器是在进行滚动之后才触发。 焦点事件 当元素获得焦点时,浏览器会触发focus事件。当失去焦点时,元素会获得blur事件。 与前文讨论事件不同,这两个事件不会传播。...这可能太早了,比如有时脚本需要处理在标签后出现内容。 诸如image或script这类会装载外部文件标签都有load事件,指示引用文件装载完毕。

5.5K20

DOM事件基本概念大总结(前端必备)

这一个过程也称为事件冒泡 事件捕获 与事件冒泡刚好相反,事件最外层 documet 开始一直往里面,直到点击元素才停止 <...添加事件方法?建议使用之前写跨浏览器事件处理方法。当然也可以通过获取 dom 对象,并对属性赋值,也可以直接在 html 元素上绑定。...,分别代表滚动条已经滚动高度和宽度。...若该事件改变了内容将不会在发生其他事件,否则可以发生 down、up、click 事件 mousemove 也会触发 mouseenter 和 mouseout 手指滚动页面时会触发 mousewheel...该事件可能被替代 deviceorientation devicemotion 触摸与手势事件 这一类事件是移动设备事件核心 触摸事件 touchstart 手指触摸屏幕触发 touchmove

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

10-移动端开发教程-移动端事件

如何用户手指触屏设备边缘移出了触屏设备,也会触发 touchend 事件。 touchend 事件 target 也是与 touchstart target 一致,即使已经移出了元素。...触点离开了文档窗口,而进入了浏览器界面元素、插件或者其他外部内容区域。...不会包括左边滚动距离。 5. clientY 触摸点相对于浏览器 viewport上边缘 y 坐标。不会包括上边滚动距离。...6. pageX 触摸点相对于 document左边缘 x 坐标。 与 clientX 不同是,他包括左边滚动距离,如果有的话。...7. pageY 触摸点相对于 document左边缘 y 坐标。 与 clientY 不同是,他包括上边滚动距离,如果有的话。

6.7K80

从零开始学 Web 之 移动Web(五)touch事件缺陷,移动端常用插件

触发这两个事件顺序是 tap 事件,然后是 click 事件。因为 tap 事件内部是 touch 事件处理,而 touch 事件是先于 click 事件触发。...你可以很容易挂靠大量自定义事件(onBeforeScrollStart, * 开箱即用多平台支持。很老安卓设备到最新iPhone,Chrome浏览器到IE浏览器。...2、swipe swipe.js 是一个比较有名触摸滑动插件,它能够处理内容滑动,支持自定义选项,你可以让它自动滚动,控制滚动间隔,返回回调函数等。经常作为轮播图使用。...'> 3、对格式进行设定(固定写法,最好不要修改,当然类名称需要修改)...因为它引入了库文件 css 样式。所以最好不要改变类样式名称。具体内容可以参考官网,有很多详细使用说明和特效演示。

3.2K20

【总结】1823- 移动端滚动穿透与滚动溢出解决方案

滚动穿透 问题描述 在移动端 WEB 开发时候(小程序也雷同),如上录屏所示,如果页面超过一屏高度出现滚动条时,在 fixed 定位弹窗遮罩层上进行滑动,它下面的内容也会跟着一起滚动,看起来好像事件穿透到下面的...)和缩放手势由浏览器专门处理,但是可以通过 CSS 特性 touch-action 来改变触摸手势行为。....popup { touch-action: none; } Note: [无障碍设计] 阻止页面缩放可能会影响视力不佳的人阅读和理解页面内容,不过小程序本身好像就不可以缩放!...Step 1、监听弹窗最外层元素(popup) touchmove 事件并阻止默认行为来禁用所有滚动(包括弹窗内部滚动元素)。...Step 2、释放弹窗内滚动元素,允许滚动:同样监听 touchmove 事件,但是阻止该滚动元素冒泡行为(stopPropagation),使得在滚动时候最外层元素(popup)无法接收到 touchmove

43811

手势魅力-设置一个触摸菜单

那种让你用一只手盯着屏幕,另一只手放在你额头上,另一只手放在鼠标上滚动时间 有 - 我敢说呢? - 如丝般流畅手势触摸手势和动画可能是一个挑战,并随着时间推移变得越来越突出。...源码,复制该标题后台回复[手势魅力-设置一个触摸菜单]就可以了,我对js,css中代码也做了一些简要注释,其实看到命名,j在结合文章内容,就应该很容易理解各个变量是什么意思了 所有你需要了解JavaScript...触摸属性列出当前在屏幕上所有手指: PageX:返回手指放置在DOM中x坐标。左边开始计算,如果适用,则考虑水平滚动 PageY:返回手指放置在DOM中y坐标。...它是顶部边缘测量,并考虑垂直滚动(如果适用) 而你也需要知道关于requestAnimationFrame requestAnimationFrame函数告诉浏览器你要执行一个动画。...这绝对不是你想要用你手机触摸手势发生事情,所以考虑一下:当你打开/关闭菜单时,你是否有兴趣阅读滚动隐藏内容?如果你拖拽方向是水平,你就不能滚动 ? 我们需要一些边界在这里!

1.8K40

jquery nicescroll 配置参数

,默认为​​“递四方” zIndex - 改变z-index值滚动div,默认值是9999 scrollspeed - 滚动速度,默认值为60 mousescrollstep - 高速滚动鼠标滚轮...,默认值是40(像素) touchbehavior - 使光标拖动滚动像在台式电脑触摸设备(默认:false) hwacceleration - 使用硬件加速滚动支持时候(默认:true) boxzoom...=真实,使用触摸设备)上缩放框激活时,间距输出/输入(默认:true) grabcursorenabled,显示“抢”图标的div touchbehavior = true时,(默认:true)...(默认:true) railoffset,您可以添加抵消顶部/左边轨道位置(默认:false) bouncescroll,使滚动弹跳在内容结尾作为移动像(仅HW ACCELL)(默认:false)...,在对方向锁定激活像素死区(默认值:6) nativeparentscrolling,检测内容底部,并让家长来滚动,作为原生滚动做(默认:true) enablescrollonselection,启用自动滚动内容

4.1K80

教你实现一个悬浮可拖动并在滑动页面时会自动收缩vue侧边组件按钮

一、前言 实现一个悬浮可拖动且可自定义一个侧边按钮,在实际业务开发中可以根据业务需要进行调整 效果图 最终实现效果,在移动端收缩时可以加点延时判断增加一下最终流畅性 二、创建组件 创建一个div...动态赋值高度、宽度等属性,内部包裹元素我这里用是一张图片,实际可以根据需要展示不同内容。...// 页面高度 timer: null, currentTop: 0, left: 0, top: 0, oldScrollTop: 0, //记录上一次滚动结束后滚动距离...touchstart touchmove touchend touchstart事件:当手指触摸屏幕时候触发,即使已经有一个手指放在屏幕上也会触发。...touchmove事件:当手指在屏幕上滑动时候连续地触发。在这个事件发生期间,调用preventDefault()事件可以阻止滚动。 touchend事件:当手指屏幕上离开时候触发。

3.8K40

使用 CSS Scroll Snap 优化滚动,提升用户体验!

滚动容器基础知识 要创建一个滚动容器,以下是我们需要做基本内容 使用 overflow 一种将项目彼此相邻显示(内联)方法 举个例子: <div class...然而,这还不够,这不是一个可用滚动容器。 滚动容器有什么问题 问题是,与滑动相比,它们并不能提供良好体验。在触摸屏上滑动手势主要好处是,我们可以用一根手指水平或垂直滚动。...如果你使用是手机或平板电脑,可以向右移动滚动条或使用触摸。应该能感受到每个项目是如何容器开始抓取。 演示地址:https://codepen.io/shadeed/pe......参见下图: 滚动容器 start 子项目将吸附到水平滚动容器开始处。 滚动容器 center 子项目将吸附到滚动容器中心。 滚动容器 end 子项将对齐到滚动容器末尾。...这是滚动对齐一种不好用法,它阻止用户自由滚动内容以读取内容

2.7K41

【干货】使用 CSS Scroll Snap 优化滚动,提升用户体验!

滚动容器基础知识 要创建一个滚动容器,以下是我们需要做基本内容 使用 overflow 一种将项目彼此相邻显示(内联)方法 举个例子: <div class...如果你使用是手机或平板电脑,可以向右移动滚动条或使用触摸。应该能感受到每个项目是如何容器开始抓取。 演示地址:https://codepen.io/shadeed/pe......参见下图: image.png 滚动容器 start 子项目将吸附到水平滚动容器开始处。 image.png 滚动容器 center 子项目将吸附到滚动容器中心。...image.png 滚动容器 end 子项将对齐到滚动容器末尾。...这是滚动对齐一种不好用法,它阻止用户自由滚动内容以读取内容

2K30

移动端轮播图笔记

手指从一个DOM元素上移开时触发 1.2触摸事件对象(TochEvent) TouchEvent是一类描述手指在触摸平面(触摸屏、触摸板等)状态变化事件。...1.touches:正在触摸屏幕所有手指一个列表 2.targetTouches:正在触摸当前DOM元素上手指一个列表(最常使用) 3.changeTouches:手指状态发生了改变列表,从无到有...然后用盒子原来位置+手指移动距离 4.手指移动距离:手指滑动中位置减去手指刚开始触摸位置 拖动元素三部曲: (1)触摸元素touchstart:获取手指初始坐标,同时获得盒子原来位置...(2)移动手指touchmove:计算手指滑动距离,并且移动盒子 (3)离开手指touchend 注意:手指移动也会触发滚动屏幕所以这里要阻止默认屏幕滚动e.preventDefault...1.不允许网页出现横向滚动条 2.页面盛满屏幕,盒子宽度与屏幕一致 100% 3.让盒子内容宽高width/height包含padding

2.5K21

Vue.Draggable 文档总结

特性 支持触摸设备 支持拖拽和选择文本 支持智能滚动 支持不同列表之间拖拽 不以jQuery为基础 和视图模型同步刷新 和vue2国度动画兼容 支持撤销操作 当需要完全控制时,可以抛出所有变化 可以和现有的...,通常和内部v-for循环数组为同一数组。...和v-model不能共用 表现上没有看出不同 element String,默认div 就是标签在渲染后展现出来标签类型 也是包含拖动列表和插槽外部标签 可以用来兼容UI...newIndex: 添加后新索引 element: 被添加元素 removed: 列表中移除元素 oldIndex: 移除前索引 element: 被移除元素...moved:内部移动 newIndex: 改变后索引 oldIndex: 改变前索引 element: 被移动元素 插槽 提供一个footer插槽,在排序列表之下

8.6K20

一文带你响应式网页设计入门

这些设备特性包括: 网络连接方式 屏幕尺寸 交互类型(触摸屏,触摸板) 图形分辨率。 在响应式网页设计流行之前,许多公司在处理不同用户设备访问网站时,需要根据不同设备类型将用户重定向到不同站点上去。...我们设置main标签设置为flex-wrap: wrap,这个设置为允许其内部子节点在父节点中换行, flex-basis: 100% 是指我们div节点宽度是相对于父节点宽度100%(图1)。...,我们设置宽度为父级宽度33%(图2)。...在这种情况下,我们可以使用另一种技术-水平滚动。 使用内容溢出滚动条进行水平滚动 可能会有这样一种情况:您内容会溢出界面,而没有一种优雅处理方式去解决。...没关系,内容溢出滚动条可以为你解决这个问题。 此技术常见用途包括可滚动菜单和表格。下面是一个可滚动菜单示例。

4.7K20

学会一行CSS即可提升页面滚动性能

我们经常会碰到类似设置半透明遮罩需求,通常是绝对定位一个div盖在元素上方,这时遮罩层鼠标事件优先级会更高,使得打上遮罩元素无法进行正常交互行为,此时只需给遮罩设置 pointer-events:...重点来了,既然该属性可以阻止元素成为鼠标事件,那么修改页面该属性值为 none,就能避免在滚动时鼠标频繁触发包括hover在内任何鼠标事件,从而提升了页面滚动性能。...顾名思义,该属性是用于设置触摸屏如何操纵元素区域动作,同样,touch-action 可以禁用浏览器在移动端处理手势事件,进而提高页面滚动性能,同时它还能解决移动端 点击延迟问题(很多人可能只知道viewport...touch-action 就发挥作用了,它相当于先声明了元素可用触摸事件,这样浏览器就不会报错了,preventDefault() 也不会影响到触摸事件,这两者可以结合来使用。...就可以完全阻止滑动默认事件,看情况来,毕竟 touch-action 还有很多可选值相关资料传送门: MDN - CSS - pointer-events MDN - CSS - touch-action 以上就是文章全部内容

3.1K30

接上一篇事件详解

地址了; 如果在创建新img元素时,可以为指定一个事件处理程序,以便图像加载完成后给出提示,此时,最重要是在指定src属性之前先指定事件;如下代码所示: EventUtil.addHandler...mouseenter事件:在鼠标光标元素外部移动到元素范围之内被触发;这个事件不冒泡; mousemove事件:当鼠标指针在元素内部移动时重复地触发。...;90表示向左旋转横向模式(主屏幕按钮在右侧),-90表示向右旋转横向模式(主屏幕按钮在左侧), 理解移动端事件—触摸与手势事件 有以下几个触摸事件: touchstart: 当手指触摸屏幕时触发...touchmove:当手指在屏幕上滑动时连续地触发,这个事件发生期间,我们可以使用preventDefault()事件可以阻止滚动。 touchend: 当手指屏幕上移开时触发。..., screenY,detail, altKey, shiftKey, ctrlKey, metaKey, 除了常见DoM属性外,触摸事件还包含下列三个用于跟踪触摸属性; touches: 表示当前跟踪触摸操作

1.8K60

模态框最佳实践

内容是否相关。模态框是作为当前页面的一种衍生或补充,如果其内容与当前内容毫不相干,那么可以使用其他操作(如新页面跳转)来替代模态框; 模态框内部应该避免有过多操作。...对于模态框大小应该要有相对严格限制,如果内容过多导致模态框或页面出现滚动条,一般来说这种体验很糟糕,但如果用于展示一些明细内容,我们可能还是会考虑使用滚动条来做; 开启或关闭动画。...第二个例子是 Quora,Quora 主页呈现是 Feed 流,点击标题就会打开一个模态框展示它回答具体内容内容里面是带有滚动,按 ESC 键就可以关闭。非常流畅体验。...你让这些用户如何退出 很多 Windows PC 都已经获得了很好触屏支持,而你网页依旧只支持了键盘跟鼠标? 在没有苹果触摸地方,横向滚动条是不是一个逆天设计?...在网页里,使用 Command(Ctrl) and +/- 和使用触摸缩放事件是两个不同表现? 如果你终端用户没有好用触摸板,但是他的确看不清你网页上内容

1.4K40
领券