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

2017移动前端一些总结web前端 —— 移动端知识一些总结一.css部分二.js部分

触发baseline什么。。。)...中,当你点击比如 input 准备输入时,虚拟键盘弹出,整个视窗 高度 就会变为 减去键盘 高度,加入你在底部有 fixed元素比如 btn,这个元素就会跑上来,一般都不会太美观。...我是 focus时就把它设为 absolute,视情况而定,也有比如显示一个新层,将含有 fixed按钮那一层隐藏情况等等。...另外一种情况(一般在页面内容很少时 iphone5及以上常发生),输入框弹出时 fixed元素挤到输入框上,输入框消失时, fixed元素并没有随着输入消失而回到底部,这是因为整个视窗高度还保持在...(这个没用过)  ③ 有的时候比如弹出一个 iphone滑动出来层,点击黑色半透明区域弹出层消失,这种可以在黑色区域绑定 touchend也是和 tap差不多效果 7.弹窗出现时,想禁止屏幕滑动

3.6K40

移动端click延迟及zepto穿透现象 转

,touchend事件先发生, touchend事件冒泡到document时触发目标元素绑定tap事件 简单模拟zepto tap实现方式(这里忽略touchstart与touchend点击位置判断...): // document元素绑定touchend事件, 在touchend事件处理函数中自定义tap事件, 点击目标元素touchend事件冒泡到document时, 触发绑定在目标元素...穿透现象: 遮罩层中有一个标签绑定了tap事件,触发时遮罩层消失,该标签正下方有一个绑定了click按钮,此时点击上层标签,同时也触发下层元素click事件,出现穿透现象。...为什么会出现穿透: 结合前面tap事件原理来分析: 触发tap事件,上层遮罩层关闭后,此时事件只进行到touchend,而click是在大概300ms后才触发click触发时,上面的遮罩层已消失...下层什么元素才会形成穿透: 根据原理来说,因为穿透是发生在click发生时,也就是下层绑定了click事件或click时会触发事件(focus focusout)元素,或点击时有默认形为标签元素

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

移动开发实用

不管当前有多少只手指 touchmove 手指在屏幕滑动时连续触发。...通常我们再滑屏页面,会调用eventpreventDefault()可以阻止默认情况发生:阻止页面滚动 touchend 手指离开屏幕时触发 touchcancel 系统停止跟踪触摸时候触发。...不管当前有多少只手指 MSPointerMove 手指在屏幕滑动时连续触发。...通常我们再滑屏页面,会调用csshtml{-ms-touch-action: none;}可以阻止默认情况发生:阻止页面滚动MSPointerUp——手指离开屏幕时触发 移动端click屏幕产生...什么是Retina 显示屏,带来了什么问题 retina:一种具备超高像素密度液晶屏,同样大小屏幕显示像素点由1个变为多个,如在同样带下屏幕,苹果设备retina显示屏中,像素点1个变为4

6.4K30

jquery 绑定事件 - blur() 失去焦点 - focus() 获取焦点

事件函数列表 blur() 元素失去焦点 focus() 元素获得焦点 click() 鼠标单击 mouseover() 鼠标进入(进入子元素也触发) mouseout() 鼠标离开(离开子元素也触发)...() DOM加载完成 resize() 浏览器窗口大小发生改变 scroll() 滚动条位置发生变化 submit() 用户递交表单 编写一个form表单,用来演示输入框获取焦点和失去焦点示例 ?...好了,有了基本HTML架构之后,就可以来演示了。 focus() 元素获得焦点 首先先来这个focus()函数。 ? 可以看到获取焦点时候,就立即弹出alert()。...其实通过focus()函数只是简单用来初始化文本框焦点输入而已,如下: ? 刚进入页面,文本框就自动获取焦点,这基本就是这个方法大部分用法了。...blur() 元素失去焦点 使用blur()失去焦点这个方法一般结合获取文本框内容函数一起使用,如下: ? 获取到文本框内值之后,就可以对其进行正则验证或者其他方式校验。

12K30

移动端web开发笔记

不管当前有多少只手指 touchmove——手指在屏幕滑动时连续触发。...通常我们再滑屏页面,会调用eventpreventDefault()可以阻止默认情况发生:阻止页面滚动 touchend——手指离开屏幕时触发 touchcancel——系统停止跟踪触摸时候触发...例如在触摸过程中突然页面alert()一个提示框,此时会触发该事件,这个事件比较少用 4、移动端click屏幕产生200-300 ms延迟响应 移动设备web网页是有300ms延迟,玩玩造成按钮点击延迟甚至是点击失效...以下是历史原因: 2007年苹果发布首款iphoneIOS系统搭载safari为了将适用于PC端上大屏幕网页能比较好展示在手机端上,使用了双击缩放(double tap to zoom)方案,...{display: none} 框架 移动端基础框架 zepto.js 语法与jquery几乎一样,jquery基本会zepto~ iscroll.js解决页面不支持弹性滚动,不支持fixed引起问题

3.5K20

移动端问题收集和解决

tap击穿问题 问题描述 绑定tap方法dom元素,触发该方法时,该dom元素下方同一位置dom元素触发click事件或者有浏览器认为可以被点击交互dom元素(inputfocus事件)...问题描述 IOS下,input输入框获取焦点focus,弹起虚拟键盘之后,页面上position: fixed元素位置错乱。...设置 text-size-adjust 为 none 可以解决 iOS 问题,但桌面版 Safari 字体缩放功能失效,因此最佳方案是将 text-size-adjust 为 100% 。...,input 事件截断非直接输入什么是非直接输入呢,在我们输入汉字时候,比如说「开心」,中间过程中会输入拼音,每次输入一个字母都会触发 input 事件,然而在没有点选候选字或者点击「选定」按钮前...tap' : 'click', function() { initHeight = window.innerHeight; $('#input').focus(); }); 3、键盘收起时候我们需要将真输入框再次隐藏掉

1.9K20

收藏 | 移动端H5开发常用技巧总结

在高清屏下,移动端 1px 很粗。 那么为什么产生这个问题呢?...目前主流屏幕 DPR=2(iPhone 8),或者 3(iPhone 8 Plus)。拿 2 倍屏来说,设备物理像素要实现 1 像素,而 DPR=2,所以 css 像素只能是 0.5。...加入自动触发播放代码 $('html').one('touchstart', function() { audio.play() }) iOS 拉边界下拉出现空白 手指按住屏幕下拉,屏幕顶部会多出一块白色区域...手指按住屏幕拉,底部多出一块白色区域。 在 iOS 中,手指按住屏幕上下拖动,触发 touchmove 事件。...如果该元素已经在浏览器窗口可见区域内,则不会发生滚动。 true,则元素将在其所在滚动区可视区域中居中对齐。 false,则元素将与其所在滚动区可视区域最近边缘对齐。

4.2K20

02-老马jQuery教程-jQuery事件处理

blur事件会在元素失去焦点时候触发,既可以是鼠标行为,也可以是按tab键离开 focus([[data],fn]) $("p").focus(); 元素获得焦点时,触发 focus 事件。...focusout事件跟blur事件区别在于,他可以在父元素检测子元素失去焦点情况 change([[data],fn]) $('p').change(); 元素发生改变时,会发生 change...按钮被按下时,会发生该事件。它发生在当前获得焦点元素。 不过,与 keydown 事件不同,每插入一个字符,就会发生 keypress 事件。...构造函数传入选择器,返回是一个jQuery包装对象 // 大部分api都是在jQuery包装对象 // console.dir($inputArray); $inputArray.focus...点击段落时候触发 foo $("p").unbind("click", foo); // ...

6.4K00

前端开发JS——jQuery常用方法

(针对输入文本元素,其他立即触发),触发表单绑定change事件 方法:$ele.change(handler(eventObject)) change参数是函数(回调函数),表单元素值发生改变再失焦...这两元素文本被选中时会触发select事件 方法一:$ele.select () focusin 无参,只是绑定一个事件,在函数里可以实现其他绑定事件 方法二:$ele.select (handler...强调按下,keyup强调松开;如果点击按住不放并离开元素,还是实现所绑定事件;理论可以绑定所有元素,一般用于表单元素。...keydown事件:每次获取内容都是之前输入,当前输入获取不到,这就由下一知识点解决。...").on("click","p",fn) 注:事件绑定在最上层div元素,当用户触发在a元素,事件将往上冒泡,一直冒泡在div元素

4.8K20

02-老马jQuery教程-jQuery事件处理

blur事件会在元素失去焦点时候触发,既可以是鼠标行为,也可以是按tab键离开 focus([[data],fn]) $("p").focus(); 元素获得焦点时,触发 focus 事件。...focusout事件跟blur事件区别在于,他可以在父元素检测子元素失去焦点情况 change([[data],fn]) $('p').change(); 元素发生改变时,会发生 change...它发生在当前获得焦点元素。注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。...按钮被按下时,会发生该事件。它发生在当前获得焦点元素。 不过,与 keydown 事件不同,每插入一个字符,就会发生 keypress 事件。...点击段落时候触发 foo $("p").unbind("click", foo); // ...

2.7K80

如何解决移动端Click事件300ms延迟问题?

什么移动端点击事件要加300ms延迟呢? 早在 2007 年初,苹果公司在发布首款 iPhone 前夕,遇到一个问题:当时网站都是为大屏幕设备所设计。...于是苹果工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌面端站点问题。 ?...双击缩放,顾名思义,即用手指在屏幕快速点击两次,iOS 自带 Safari 浏览器会将网页缩放至原始比例。 那么这和 300 毫秒延迟有什么联系呢? ?...鉴于iPhone成功,其他移动浏览器都复制了 iPhone Safari 浏览器多数约定,包括双击缩放,几乎现在所有的移动端浏览器都有这个功能。...在页面的DOM文档加载完成后 fastClick.attach(document.body) 如果你用过FastClick在移动端,就会发现有一个体验很不好问题,某些ios,点击输入框想唤启软键盘,

1.4K30

jQuery 教程

什么是事件? 页面对不同访问者响应叫做事件。 事件处理程序指的是 HTML 中发生某些事件时所调用方法。 实例: 在元素移动鼠标。...在下面的实例中,点击事件在某个 元素触发时,隐藏当前 元素: $("p").click(function(){ $(this).hide(); }); dblclick() 双击元素时...当鼠标移动到元素时,触发指定第一个函数(mouseenter);当鼠标移出这个元素时,触发指定第二个函数(mouseleave)。...; } ); focus() 元素获得焦点时,发生 focus 事件。 通过鼠标点击选中元素或通过 tab 键定位到元素时,该元素就会获得焦点。...focus() 方法触发 focus 事件,或规定当发生 focus 事件时运行函数: $("input").focus(function(){ $(this).css("background-color

16.9K20

JQuery之内置函数响应事件

2.keypress  键盘或按钮被按下时,发生 keypress 事件。keypress 事件与 keydown 事件类似。按钮被按下时,会发生该事件。它发生在当前获得焦点元素。...3.keyup  按钮被松开时,发生 keyup 事件。它发生在当前获得焦点元素。注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。...当鼠标指针位于元素上方时,放松鼠标按钮就会触发该事件。 8.click 当鼠标点击并松开时候触发每一个匹配元素click事件。...三:input事件 1.获得焦点focus :元素获得焦点时,触发 focus 事件。可以通过鼠标点击或者键盘上TAB导航触发。...这将触发所有绑定focus函数,注意,某些对象不支持focus方法。 2.失去焦点blur :元素失去焦点时触发 blur 事件。

2.1K60

IOS、iPhone移动端,表单input聚焦时页面放大解决办法

最近一个项目中,发现几个页面在使用 iPhone 11 访问时候,点击 input 和 textarea 等文本输入框聚焦 focus() 时,页面会整体放大。...经检查发现并没有什么特定功能是让页面放大,最后找到原因:苹果觉得点击输入框放大是一个“很好”体验,就擅自把页面给放大了,单纯用 meta 禁止页面放大是没有用,可以使用下面两种方法解决。...1、viewport meta 标签: 浏览器 viewport 是可以看到 Web 内容窗口区域,通常与渲染出页面的大小不同,这种情况下,浏览器提供滚动条以滚动访问所有内容。...initial-scale 属性控制页面最初加载时缩放等级,即页面第一次 load 时候缩放比例。 maximum-scale 属性控制允许用户缩放最大比例。...minimum-scale 属性控制允许用户缩放最小比例。 user-scalable 属性控制用户是否可以手动缩放

6.6K20

微信小程序官方组件展示之表单组件textarea源码

: 0}1.0.0bindinputeventhandle否键盘输入时触发 input 事件,event.detail = {value, cursor, keyCode},keyCode 为键值...**bindinput 处理函数返回值并不会反映到 textarea **1.0.0bindconfirmeventhandle否点击完成时, 触发 confirm 事件,event.detail...= {value: value}1.0.0bindkeyboardheightchangeeventhandle否键盘高度发生变化时候触发此事件,event.detail = {height: height...2.tip: 不建议在多行文本对用户输入进行修改,所以 textarea bindinput 处理函数并不会将返回值反映到 textarea 。...3.tip : 键盘高度发生变化,keyboardheightchange事件可能多次触发,开发者对于相同 height 值应该忽略掉4.bug: 微信版本 6.3.30,textarea 在列表渲染时

1K20

【JS】310- 使用 focusout 事件,解决 iOS 键盘收起不归位问题

IPhone键盘会弹出,此时iphone为了让用户可以看到电话输入框,会将整个页面整体向上移动(不然键盘遮住电话输入框)。...事件代理: 即,我们把事件监听放到顶部元素;然后定义一个 inputBlur 函数等待触发。...但是经过手机测试发现,当我们从 电话输入框 直接切换到 姓名输入框 这种操作时,页面会发生抖动。我们来继续分析。 解决抖动问题 其实2个输入框切换时 抖动原因也很简单。...因为我们在上述两个输入框之间切换时,页面会首先触发 电话输入 blur事件,接着触发 姓名输入 focus 事件。...因此看我们修改下我们代码,让输入框切换这种操作发生时,可以切断第一个输入行为。

3.3K10

jQuery 事件(三) 事件绑定和解绑、对象使用、自定义事件

给出如下代码: $("div").on("click","p",fn) 事件绑定在最上层div元素,当用户触发在a元素,事件将往上冒泡,一直冒泡在div元素。...正常来说是不可以,但是jQuery解决了这个问题,提供了一个trigger方法来触发浏览器事件 $('#elem').trigger('click'); //在绑定on事件元素,通过trigger...尽管 .trigger() 模拟事件对象,但是它并没有完美的复制自然发生事件,若要触发通过 jQuery 绑定事件处理函数,而不触发原生事件,使用.triggerHandler() 来代替 triggerHandler...() 影响所有与 jQuery 对象相匹配元素,而 .triggerHandler() 仅影响第一个匹配到元素 使用 .triggerHandler() 触发事件,并不会在 DOM 树中向上冒泡...如果没有触发任何事件,返回 undefined <!

4K30
领券