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

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

不过,无论是通过 Vue 的 @blur 还是通过 DOM 操作的方式添加,都要添加4个事件监听,不是很优雅。很自然,我们想到用事件代理。...所以,果断通过这两个事件解决问题,我们改成 focusout <input type="text" placeholder="请填写省市县...因为我们在上述两个输入框之间切换时,页面会首先<em>触发</em> 电话输入框 的 <em>blur</em>事件,接着<em>触发</em> 姓名输入框 的 focus 事件。...这样的话,在 <em>blur</em> 时会<em>触发</em>我们的 window.scrollTo(0,0) 导致页面往下滚一下,接着 姓名输入框 聚焦,于是键盘继续弹起---这导致页面再次向上移动。...其实,在两个输入框之间切换这种操作时,我们就没必要<em>触发</em>第一个输入框 <em>blur</em> 时的 window.scrollTo 行为了。

3.2K10

4-Jquery学习四-事件操作

10,one one()函数用于为每个匹配元素的一个多个事件绑定一次性事件处理函数。 要删除通过one()绑定的事件,请使用unbind()off()函数。...该函数也可用于触发resize事件。此外,你还可以额外传递给事件处理函数一些数据。 resize事件会在元素的尺寸大小被调整时触发。该事件常用于window对象(浏览器窗口)框架页面。...实例: 现在,我们为window对象的resize事件绑定处理函数(可以绑定多个,触发时按照绑定顺序依次执行): $(window).resize( function(){ alert("不建议调整窗口大小...p元素的focusin事件 //$ps.focusin( ); // 调用不带任何参数的focusin()函数,会触发每个匹配元素的focusin事件 20,focusout focusout事件就是失去焦点事件...与blur事件不同的是:focusout可以检测该元素的后代元素获得焦点的情况(换句话说,focusout事件支持冒泡,blur不支持)。 效果同上。

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

React 事件初探

解除绑定 removeEventListener,所有通过 JSX 这种方式绑定的事件都是绑定到“合成事件”。...当事件被触发, 浏览器会给出一个触发目标事件的 DOM 节点。...子组件改变父组件state的办法只能是通过onClick等事件触发父组件声明好的回调,也就是父组件提前声明好函数方法作为契约描述自己的state将如何变化,再将它同样作为属性交给子组件使用。...除Firefox浏览器外都可使用支持冒泡的 focusin/focusout 来代替 focus/blur 事件,Firefox会在捕获阶段监听 focus/blur 事件。...submit/reset 事件会在鼠标点击或者按回车键时触发,所以可以监听冒泡的 click 和 keypress 事件,并判断触发事件的元素是否为一个 form 元素的后代节点,然后手动触发 submit

1.7K00

DOM事件第二弹(UIEvent事件)

js对象:image、windows、layer(h5的) unload 在页面内容被移除时触发。元素:body、frameset;Js对象:window。...事件来代替(error会作为一个状态来传递); script的error,在ie上也是不支持的,也是通过onreadystatechange事件来代替(状态值)。...事件名 说明 focus 获得焦点,不冒泡 blur 失去焦点,不冒泡 focusin 获得焦点,冒泡 focusout 失去焦点,冒泡 DOMFocusin 获得焦点,不冒泡,遗留方案 DOMFocusout...失去焦点,不冒泡,遗留方案 3.1 代理事件的兼容处理方案 ie、opera、chrome等都支持focusin和focusout,但firefox不支持focusin和focusout。...4.1 区别与兼容性 oninput为现代浏览器的特性(ie9+都ok),只有改变控件的value才会触发oninput,但js改变value不会触发oninput,并且oninput需要只能通过addEventListener

2.8K90

梳理下常见的不冒泡事件

User shifts focus focusout 第一个目标元素失去焦点之前触发 focusin 第二个目标元素获得焦点之前触发 blur 第一个目标元素失去焦点之后触发 focus 第二个元素获得焦点之后触发...•blur 不冒泡 ❌•focus 不冒泡 ❌•focusin•focusout 要注意 blur 事件和 focus 事件都是不冒泡的,因获取和失去焦点本身就是针对这个元素的。...如果要坚挺具体的焦点变化情况,那么应该使用 focusin 和 focusout Mouse 事件 如果元素内部没有嵌套另一个元素,事件触发的顺序见下表: Event Type Element Notes...不冒泡 ❌•mouseleave 不冒泡 ❌•mousemove•mouseout•mouseover•mouseup mouseenter/mouseleave 看这个单词也是跟 focusin/focusout...的相关事件 selectionchange 是不冒泡的: •selectstart•selectionchange 不冒泡 ❌ SSE 的相关事件也是不冒泡的 html5 的 drag & drop

1.2K30

React事件初探

解除绑定 removeEventListener,所有通过 JSX 这种方式绑定的事件都是绑定到“合成事件”。...当事件被触发, 浏览器会给出一个触发目标事件的 DOM 节点。...子组件改变父组件state的办法只能是通过onClick等事件触发父组件声明好的回调,也就是父组件提前声明好函数方法作为契约描述自己的state将如何变化,再将它同样作为属性交给子组件使用。...除Firefox浏览器外都可使用支持冒泡的 focusin/focusout 来代替 focus/blur 事件,Firefox会在捕获阶段监听 focus/blur 事件。...submit/reset 事件会在鼠标点击或者按回车键时触发,所以可以监听冒泡的 click 和 keypress 事件,并判断触发事件的元素是否为一个 form 元素的后代节点,然后手动触发 submit

1K80

React事件初探

解除绑定 removeEventListener,所有通过 JSX 这种方式绑定的事件都是绑定到“合成事件”。...当事件被触发, 浏览器会给出一个触发目标事件的 DOM 节点。...子组件改变父组件state的办法只能是通过onClick等事件触发父组件声明好的回调,也就是父组件提前声明好函数方法作为契约描述自己的state将如何变化,再将它同样作为属性交给子组件使用。...除Firefox浏览器外都可使用支持冒泡的 focusin/focusout 来代替 focus/blur 事件,Firefox会在捕获阶段监听 focus/blur 事件。...submit/reset 事件会在鼠标点击或者按回车键时触发,所以可以监听冒泡的 click 和 keypress 事件,并判断触发事件的元素是否为一个 form 元素的后代节点,然后手动触发 submit

77810

读Zepto源码之Event模块

除了 focus 事件和 blur 事件外,现代浏览器还支持 focusin 事件和 focusout 事件,他们和 focus 事件及 blur 事件的最主要区别是支持事件冒泡。...> focusin > blur > focusout 关于这几个事件更详细的描述,可以查看:《说说focus /focusin /focusout /blur 事件》 关于事件的执行顺序,我测试的结果与文章所说的有点不太一样...因此,要模拟 mouseenter mouseleave 事件,只需要确定触发 mouseover mouseout 事件上的 relatedTarget 不存在,或者 relatedTarget...,则直接调用 this.focus() this.blur() 方法,这两个方法是浏览器原生支持的。...否则,直接调用 triggerHandler 方法来触发事件的回调函数。 由于 trigger 是通过触发事件来执行事件句柄的,因此事件会冒泡。

1.4K00

浅谈JavaScript的事件(事件类型)

DOM3级的事件类型主要包括:UI事件,用户与页面上的元素交互时触发;焦点事件,元素获得失去焦点触发;鼠标事件,用户通过鼠标在页面上执行操作时触发;滚轮事件,使用鼠标滚轮时触发;文本事件,当在文档中输入文本时触发...;键盘事件,用户通过键盘在页面上操作触发;合成事件,当为IME输入字符时触发;变动事件,底层DOM结构发生变化时触发。...,当用户选择文本框的内容时触发;resize事件,当浏览器窗口大小改变时触发;scroll事件,当用户滚动带滚动条的元素时触发。...有6个焦点事件:blur事件,元素失去焦点时触发事件,不会冒泡;focus事件,元素获得焦点时触发,不会冒泡;focusin事件,元素获得焦点时触发,会冒泡;focusout事件,元素失去焦点时触发,会冒泡...当用户在页面上由一个元素移动到另一个元素事件触发的顺序为:focusout事件,在失去焦点的元素上触发;focusin事件,在获得焦点的元素上触发blur事件,在失去焦点的元素上触发;focus事件,

1.8K50

AngularDart Material Design 选择 顶

可以手动(在模板中)通过SelectionOptions实例指定选项。 可以通过模板通过检查选择模型将选项标记为已选择。...Outputs: trigger Stream  通过单击,点击按键激活按钮时触发。...popupClass - 要添加到下拉列表弹出窗口的样式类,以便可以以封装方式设置弹出窗口的样式。 有关文档,请参阅MaterialPopup。...listAutoFocus bool  弹出窗口打开时是否默认聚焦选项列表。 当弹出窗口中的另一个元素专注于打开时,应设置为false,例如一个搜索框。...组件本身没有弹出窗口,但可用于构建提供的下拉列表。 对具有相同按钮样式的组件使用material-dropdown-select,并实现下拉列表本身。

6K20

addEventListener() 方法

( ) beforeunload 该事件在即将离开页面(刷新关闭)时触发 error 在加载文档图像时发生错误。...pageshow 该事件在用户访问页面时触发 pagehide 该事件在用户离开当前网页跳转到另外一个页面时触发 resize 窗口框架被重新调整大小。...( 和 ) 表单事件 blur 元素失去焦点时触发 change 该事件在表单元素的内容改变时触发( , , , 和 ) focus 元素获取焦点时触发 focusin 元素即将获取焦点是触发...focusout 元素即将失去焦点是触发 input 元素获取用户输入是触发 reset 表单重置时触发 search 用户向搜索域输入文本时触发 ( 剪贴板事件 copy 该事件在用户拷贝元素内容时触发...其他事件 message 该事件通过或者从对象(WebSocket, Web Worker, Event Source 或者子 frame 窗口)接收到消息时触发 online 该事件在浏览器开始在线工作时触发

89310

2016.07 第3周 群问题分享

JavaScript focus/blur与focusin/focusout的区别与联系 2016.07.18~2016.07.22 核心内容 focus/blur与focusin/focusout 问题解析...focus/blur不冒泡,focusin/focusout冒泡 focus/blur兼容性好,focusin/focusout在除FireFox外的浏览器下都保持良好兼容性,如需使用事件委托,可考虑在...FireFox下使用事件流elem.addEventListener(‘focus’, handler, true) 可获得焦点的元素: window 链接被点击键盘操作 表单空间被点击键盘操作 设置...tabindex属性的元素被点击键盘操作 ===运算符判断相等的流程是怎样的 2016.07.18~2016.07.22 核心内容 操作符 问题解析 1、如果两个值不是相同类型,它们不相等 2、如果两个值都是...通过简单的代码封装可以统一到所有的浏览器都支持Web storage。cookie的兼容性小编就不说,因为cookie很早就出现了。

90980

前端入门6-JavaScript客户端api&jQuery

document 获取次窗口关联的Document对象 history 访问浏览器历史 location 获取当前文档地址的详细信息 与窗口交互: blur() 让窗口失去键盘焦点 close() 关闭窗口...弹出一个对话框 confirm(msg) 弹出一个带有确认和取消的对话框 showModalDialog(url) 弹出窗口,显示指定的URL postMessage(msg, origin) 给另一个文档发送消息...在文档资源加载过程中被终止时触发 onerror 在文档资源加载发生错误时触发 onhaschange 在锚部分发生变化时触发 onload 在文档资源加载完成时触发 onresize 在窗口缩放时触发...onunload 在文档从窗口浏览器中卸载时触发 鼠标事件 click 单击,释放时触发 dblclick 双击,释放时触发 mousedown 点击鼠标键时触发 mouseenter 在光标移入元素某个后代元素所占据的屏幕区域时触发...ctrlKey 事件触发时是否有点击ctrl键 键盘焦点事件 blur 在元素失去焦点时触发 focus 在元素获得焦点时触发 focusin 在元素即将获得焦点时触发 focusout 在元素即将失去焦点时触发

6K40

事件

JavaScript与HTML之间的交互式通过事件实现的。 事件,就是文档浏览器窗口中发生的一些特定的交互瞬间。可以使用侦听器(处理程序)来预订事件,以便事件发生时执行相应的代码。...事件 说明 blur 在元素失去焦点时触发,不会冒泡 focus 在元素获得焦点时触发,不会冒泡 focusin 在元素获得焦点时触发,会冒泡 focusout 在元素失去焦点时触发,会冒泡 当焦点从页面中的一个元素移动到另一个元素...,会依次触发下列事件: (1)focusout在失去焦点的元素上触发; (2)focusin在获得焦点的元素上触发; (3)blur在失去焦点的元素上触发; (4)DOMFocusOut...其中:blur、DOMFoucsOut和focusout的事件目标对象是失去焦点的元素;而focus、DOMFocusIn和focusIn的事件目标是获得焦点的元素。...在DOMNodeInsert之后触发。 DOMNodeRemovedFromDocument 在一个节点被直接从文档中移除通过子树间接从文档中移除之前触发

3.2K51
领券