不过,无论是通过 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 行为了。
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不支持)。 效果同上。
(function() { alert("鼠标弹起来了"); }); 当鼠标在“点击触发”上按下去的时候,会弹出mousedown的内容,松手的时候会弹出mouseup的内容。...用法如下: 滑动触发 $("#test").mousemove(function() { alert("鼠标移动了"); }); 只要鼠标移动了,就会弹出...focusout()相反,就是失去焦点,用法和focusin()类似。 二、表单事件: 1、blur()和focus(): 这两个就是处理表单焦点的事件,blur()是失去焦点,focus是聚焦。...与focusin()和focusout()的区别就是这两个不支持冒泡处理。...3、select()事件: 当 textarea 或文本类型的 input 元素中的文本被选择时,会发生 select 事件。
1.3 其他常用绑定简单事件的方法 方法名 实例 说明 blur([[data],fn]) $("p").blur(); 当元素失去焦点时触发 blur 事件,这个函数会调用执行绑定到blur事件的所有函数...可以通过返回false来防止触发浏览器的默认行为。...focusout([data],fn) $("p").focusout(); 当元素失去焦点时触发 focusout 事件。...focusout事件跟blur事件区别在于,他可以在父元素上检测子元素失去焦点的情况 change([[data],fn]) $('p').change(); 当元素的值发生改变时,会发生 change...触发事件 包装对象的trigger(type,[data])方法,可以帮助开发人员通过代码触发事件的执行,跟正常触发一样,会进行事件冒泡。
解除绑定 removeEventListener,所有通过 JSX 这种方式绑定的事件都是绑定到“合成事件”。...当事件被触发, 浏览器会给出一个触发目标事件的 DOM 节点。...子组件改变父组件state的办法只能是通过onClick等事件触发父组件声明好的回调,也就是父组件提前声明好函数或方法作为契约描述自己的state将如何变化,再将它同样作为属性交给子组件使用。...除Firefox浏览器外都可使用支持冒泡的 focusin/focusout 来代替 focus/blur 事件,Firefox会在捕获阶段监听 focus/blur 事件。...submit/reset 事件会在鼠标点击或者按回车键时触发,所以可以监听冒泡的 click 和 keypress 事件,并判断触发事件的元素是否为一个 form 元素的后代节点,然后手动触发 submit
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
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 或
var count2=0; $('.div1').mouseover(function(){ $('#num1').text(count1+=1) //通过记录次数来看出区别...{ 9 alert(e.which) 10 }) 11 三 表单事件 1 focus () :获得焦点事件 2 blur...(): 失去焦点事件 3 focusin() :获得焦点事件 4 focusout() :失去焦点事件 5 change() :元素发生改变时,触发事件 6 select...而focusout可以在父元素上检测子元素失去焦点情况 四 其他事件 1 scroll()滚动滚动条时触发的事件 2 resize()当调整窗口大小时触发的事件 //小案例(当滚动到一定高度出现搜索菜单...}) 5 event.which 针对键盘和鼠标事件,这个属性能确定你到底按的是哪个键或按钮
除了 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 是通过触发事件来执行事件句柄的,因此事件会冒泡。
DOM3级的事件类型主要包括:UI事件,用户与页面上的元素交互时触发;焦点事件,元素获得或失去焦点触发;鼠标事件,用户通过鼠标在页面上执行操作时触发;滚轮事件,使用鼠标滚轮时触发;文本事件,当在文档中输入文本时触发...;键盘事件,用户通过键盘在页面上操作触发;合成事件,当为IME输入字符时触发;变动事件,底层DOM结构发生变化时触发。...,当用户选择文本框的内容时触发;resize事件,当浏览器窗口大小改变时触发;scroll事件,当用户滚动带滚动条的元素时触发。...有6个焦点事件:blur事件,元素失去焦点时触发事件,不会冒泡;focus事件,元素获得焦点时触发,不会冒泡;focusin事件,元素获得焦点时触发,会冒泡;focusout事件,元素失去焦点时触发,会冒泡...当用户在页面上由一个元素移动到另一个元素事件触发的顺序为:focusout事件,在失去焦点的元素上触发;focusin事件,在获得焦点的元素上触发;blur事件,在失去焦点的元素上触发;focus事件,
Outputs: blur Stream 触发失去焦点事件时发布事件。 change Stream 触发更改事件时发布事件。...Outputs: blur Stream 触发失去焦点事件时发布事件。 change Stream 触发更改事件时发布事件。...showClearIcon bool 显示或隐藏尾随关闭图标。单击该图标将清除输入文本并隐藏弹出窗口。...showHintOnlyOnFocus bool 输入未聚焦时是否显示提示文本。 默认为false。 showPopup bool 用于控制建议弹出窗口的可见性。...Outputs: blur Stream 当输入增加失去焦点或自动建议项目被选中时触发。 clear Stream 单击关闭图标时触发。
可以手动(在模板中)或通过SelectionOptions实例指定选项。 可以通过模板或通过检查选择模型将选项标记为已选择。...Outputs: trigger Stream 通过单击,点击或按键激活按钮时触发。...popupClass - 要添加到下拉列表弹出窗口的样式类,以便可以以封装方式设置弹出窗口的样式。 有关文档,请参阅MaterialPopup。...listAutoFocus bool 弹出窗口打开时是否默认聚焦选项列表。 当弹出窗口中的另一个元素专注于打开时,应设置为false,例如一个搜索框。...组件本身没有弹出窗口,但可用于构建未提供的下拉列表。 对具有相同按钮样式的组件使用material-dropdown-select,并实现下拉列表本身。
],fn]) $("p").blur(); 当元素失去焦点时触发 blur 事件,这个函数会调用执行绑定到blur事件的所有函数,包括浏览器的默认行为。...可以通过返回false来防止触发浏览器的默认行为。...focusout([data],fn) $("p").focusout(); 当元素失去焦点时触发 focusout 事件。...focusout事件跟blur事件区别在于,他可以在父元素上检测子元素失去焦点的情况 change([[data],fn]) $('p').change(); 当元素的值发生改变时,会发生 change...1.4.2 trigger触发事件 包装对象的trigger(type,[data])方法,可以帮助开发人员通过代码触发事件的执行,跟正常触发一样,会进行事件冒泡。
( ) beforeunload 该事件在即将离开页面(刷新或关闭)时触发 error 在加载文档或图像时发生错误。...pageshow 该事件在用户访问页面时触发 pagehide 该事件在用户离开当前网页跳转到另外一个页面时触发 resize 窗口或框架被重新调整大小。...( 和 ) 表单事件 blur 元素失去焦点时触发 change 该事件在表单元素的内容改变时触发( , , , 和 ) focus 元素获取焦点时触发 focusin 元素即将获取焦点是触发...focusout 元素即将失去焦点是触发 input 元素获取用户输入是触发 reset 表单重置时触发 search 用户向搜索域输入文本时触发 ( 剪贴板事件 copy 该事件在用户拷贝元素内容时触发...其他事件 message 该事件通过或者从对象(WebSocket, Web Worker, Event Source 或者子 frame 或父窗口)接收到消息时触发 online 该事件在浏览器开始在线工作时触发
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很早就出现了。
当 input 触发 blur 事件,其父元素并不会触发 blur 事件。...(e) { console.log(`#2 ${e.target.value}`) }) 而在 react 中,当 input blur 事件触发后,会按照 #1 #2 的顺序输出 <div onBlur...,那么使用其他的事件来监测子元素的 change 变化 分别绑定 focusout click keydown beforeactivate 等监控函数 当发现目标元素,比如 input,发生了值的变化...的最后一个参数为true轻松搞定 巧妙的使用 addEventListener 的第3个捕获参数,那么首先事件就会在 root 被捕获 然后获取到 e.target 也就是 input元素,然后再通过...{e.target.value}`) }, true); // blur 事件触发,将先打出 #1,再打出 #2 ip.addEventListener('blur', function(e) { console.log
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 在元素即将失去焦点时触发
JavaScript与HTML之间的交互式通过事件实现的。 事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用侦听器(或处理程序)来预订事件,以便事件发生时执行相应的代码。...事件 说明 blur 在元素失去焦点时触发,不会冒泡 focus 在元素获得焦点时触发,不会冒泡 focusin 在元素获得焦点时触发,会冒泡 focusout 在元素失去焦点时触发,会冒泡 当焦点从页面中的一个元素移动到另一个元素...,会依次触发下列事件: (1)focusout在失去焦点的元素上触发; (2)focusin在获得焦点的元素上触发; (3)blur在失去焦点的元素上触发; (4)DOMFocusOut...其中:blur、DOMFoucsOut和focusout的事件目标对象是失去焦点的元素;而focus、DOMFocusIn和focusIn的事件目标是获得焦点的元素。...在DOMNodeInsert之后触发。 DOMNodeRemovedFromDocument 在一个节点被直接从文档中移除或通过子树间接从文档中移除之前触发。
领取专属 10元无门槛券
手把手带您无忧上云