在上一篇文章中写到了函数防抖,在使用函数防抖来进行搜索框优化的时候会遇到一个问题,就是监听文本输入框的input事件,在拼写汉字(输入法)但汉字并未实际填充到文本框中时会触发input事件,会出现下图的效果...这是我们不希望看到的,我们希望得到的效果是汉字输入进去以后再触发事件。 通过查询,我发现input有两个事件:compositionstart和compositionend。...在输入中文(包括语音识别时)会先后触发compositionstart、compositionend事件,类似于keydown和keyup的组合。...来看一下关于两个事件的介绍: compositionstart:事件触发于一段文字的输入之前(类似于 keydown 事件,但是该事件仅在若干可见字符的输入之前,而这些可见字符的输入可能需要一连串的键盘操作...个人可以理解为输入拼音状态开始执行的事件 compositionend:当文本段落的组织已经完成或取消时,会触发该事件。这个个人可以理解为输入拼音结束,按下空格将汉字输入完成以后执行的事件。
出处:jQuery 双击事件(dblclick)时,不触发单击事件(click) 在jQuery的事件绑定中,执行双击事件(dblclick)时能触发两次单击事件(click)。...即一个标签元素(如div等),如果元素同时绑定了单击事件(click)和双击事件(dblclick),那么执行单击事件(click)时,不会触发双击事件(dblclick), 执行双击事件(dblclick...)时却会触发两次单击事件(click)。...mouseout,click,dblclick; 在双击事件(dblclick),触发的两次单击事件(click)中,第一次的单击事件(click)会被屏蔽掉,但第二次不会。...至此,能一定程度上避免双击(dblclick)时触发单击(click)。
-- 阻止单击事件继续传播 比如A按钮定义到Bdiv上,两个都绑定了事件,我们在A按钮上加.stop可以使触发A按钮后就停止事件传播,不触发Bdiv上的事件 --> <a v-on:click.stop...-- 提交事件不再重载页面 比如我们在提交按钮上加了他就不会触发submit的自动提交按钮,而是可以自己绑定提交函数 --> ...,事件触发时修饰键必须处于按下状态。...换句话说,只有在按住 ctrl 的情况下释放其它按键,才能触发 keyup.ctrl。而单单释放 ctrl 也不会触发事件。...但不必担心,因为所有的 Vue.js 事件处理方法和表达式都严格绑定在当前视图的 ViewModel 上,它不会导致任何维护上的困难。
,用法如下: (1) 先来看看有哪些事件: 绑定键盘事件: 绑定鼠标单击事件...contextmenu 右键点击(在右键菜单显示前触发) dblclick 在元素上双击鼠标按钮。 mousedown 在元素上按下任意鼠标按钮。 mouseenter 指针移到有事件监听的元素内。...mouseleave 指针移出元素范围外(不冒泡) mousemove 指针在元素内移动时持续触发。 mouseover 指针移到有事件监听的元素或者它的子元素内。...表单事件 Event Name Fired When reset 点击重置按钮时 submit 点击提交按钮 在这里再总结一下input框的几个事件: input事件:适用于实时查询,每输入一个字符都会出发这个事件... blur事件:失去焦点时触发的事件 <input type="text" v-on:blur="ShowInfo
事件处理 实验介绍 页面上会有很多的页面交互,例如用户点击按钮,会触发什么样的事件,这个事件要做什么事情,就会涉及到事件处理。...事件监听 我们可以使用 v-on 指令 (通常缩写为 @ 符号) 来监听 DOM 事件,并在触发事件时执行一些 JavaScript。...-- 阻止单击事件继续传播 --> <!...但不必担心,因为所有的 Vue.js 事件处理方法和表达式都严格绑定在当前视图的 ViewModel 上,它不会导致任何维护上的困难。
语法格式: v-on:click="methodName" 或 @click="methodName" 事件修饰符 Vue.js 为 v-on 提供了事件修饰符来处理 DOM 事件细节,如:event.preventDefault...Vue.js 通过由点 . 表示的指令后缀来调用修饰符。...-- 阻止单击事件冒泡 --> ... A <!
事件 描述 .stop 阻止冒泡 .prevent 阻止默认事件 .capture 阻止捕获 .self 只监听触发该元素的事件 .once 只触发一次 .left 左键事件 .right 右键事件 ....-- 阻止单击事件冒泡 --> ... ... # 通过keyup(键盘回弹).alt.67(c) 触发clear方法,实现组合键 <!
-- 阻止单击事件继续传播 --> ......-- 只当在 event.target 是当前元素自身时触发处理函数 --> ......-- 滚动事件的默认行为 (即滚动行为) 将会立即触发 --> <!...换句话说,只有在按住 ctrl 的情况下释放其它按键,才能触发 keyup.ctrl。而单单释放 ctrl 也不会触发事件。
-- 阻止单击事件继续传播 --> ......-- 只当在 event.target 是当前元素自身时触发处理函数 --> ......-- 而不会等待 `onScroll` 完成 --> A <!
onShow 页面后退时触发,数据需重置,例如用户进入饿了么首页 -> 点击左上角进行修改地址 -> 进入地址页面 -> 选择地址 -> 自动返回到首页 -> onShow() 事件监听 -> 更新左上角的地址...这样子就可以利用这个 target.attr 做一些事情了,比如我们想获取这个按钮上的文本,可以在 input 标签上加入 data-name="去点餐",那么就可以将其绑定到 attr 中,我们可以通过...事件绑定 快应用中支持的事件有: 名称 参数 描述 click - 组件被点击时触发 longpress - 组件被长按时触发 blur - 组件获得焦点时触发 appear - 组件出现时触发 disappear...-- 阻止单击事件继续传播 -->开始 事件监听 快应用的事件监听与 Vue.js 相似,都是使用 $on()、$off $emit...() 去监听,移除,触发事件,但是还是有一些区别。
修饰符 .lazy 在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步 。你可以添加 lazy 修饰符,从而转变为使用 change 事件进行同步: <!...尽管我们可以在方法中轻松实现这点,但更好的方式是:方法只有纯粹的数据逻辑,而不是去处理 DOM 事件细节。 为了解决这个问题,Vue.js 为 v-on 提供了事件修饰符。...-- 阻止单击事件继续传播 --> <!...,事件触发时修饰键必须处于按下状态。...换句话说,只有在按住 ctrl 的情况下释放其它按键,才能触发 keyup.ctrl。而单单释放 ctrl 也不会触发事件。
)触发时触发回调 .once 事件只触发一次 事件修饰符的串联使用,例如:@click.prevent.once,只会执行一次阻止默认行为,第二次则不会阻止。...那么为了阻止冒泡事件,可以使用.stop事件修饰符,如下: ? 再次在浏览器点击按钮,查看触发事件如下: ? 可以看到div的click事件没有被触发,已经阻止事件冒泡了。...此时点击a标签则阻止了默认行为,只执行监听事件。 示例: .capture 添加事件侦听器时使用事件捕获模式 事件捕获模式其实是冒泡事件的相反事件传递模式,也就是由外而内的事件触发模式。...还是用刚才的按钮和div的冒泡示例,来看看: ? 在浏览器中,点击按钮,查看触发事件的顺序,如下: ? 示例:.self 只当事件在该元素本身(比如不是子元素)触发时触发回调 ?...点击btn按钮,查看触发事件,如下: ? 点击div,查看触发事件,如下: ? 示例:.once 事件只触发一次 ? 多次点击btn按钮,查看触发事件,如下: ?
-- 为按钮绑定点击事件,执行counter += 1的任务。...-- 阻止单击事件冒泡 --> ... ... <!...按键修饰符 在监听键盘事件时,我们经常需要监测常见的键值。 Vue 允许为 v-on 在监听键盘事件时添加按键修饰符: <!
可以用 v-on 指令监听 DOM 事件来触发一些 JavaScript 代码。...-- 阻止单击事件冒泡 --> ... ...... 按键修饰符 在监听键盘事件时,我们经常需要监测常见的键值。 Vue 允许为 v-on 在监听键盘事件时添加按键修饰符: <!
)触发时触发回调 .once 事件只触发一次 事件修饰符的串联使用,例如:@click.prevent.once,只会执行一次阻止默认行为,第二次则不会阻止。...「阻止冒泡事件」,可以使用「stop」事件修饰符,如下: 再次在浏览器点击按钮,查看触发事件如下: 可以看到div的click事件没有被触发,已经阻止事件冒泡了。...示例:.capture 添加事件侦听器时使用事件捕获模式 「事件捕获模式」其实是「冒泡事件」的相反事件传递模式,也就是「由外而内」的事件触发模式。...还是用刚才的按钮和div的冒泡示例,来看看: 在浏览器中,点击按钮,查看触发事件的顺序,如下: 示例:.self 只当事件在该元素本身(比如不是子元素)触发时触发回调 点击btn按钮,查看触发事件...,如下: 点击div,查看触发事件,如下: 示例:.once 事件只触发一次 多次点击btn按钮,查看触发事件,如下: 示例:事件修饰符的串联使用,例如:@click.prevent.once,
什么是组件化开发 1.1 浏览器封装好的组件 在页面的源码里写出的button标签,会在前端页面中显示如下样式: 这button就是个组件,这样前端页面在显示上会加上边框和鼠标悬停样式,还可使用click事件触发函数等.../vue.js"> <button...// 并将todoValue重置为空字符串 this.todoValue = "" }, // 当用户单击列表中的项目时...在Vue.js中,可以通过在子组件中触发一个自定义事件并传递数据来实现将子组件数据传递到父组件。父组件可以监听子组件的自定义事件,并在事件处理程序中接收传递的数据并更新父组件的数据。...父组件的数据变化为啥会自动更新子组件的数据 在Vue.js中,当父组件的数据更新时,它会重新渲染所有子组件。
,并给该按钮使用 v-on 指令绑定单击事件,html代码如下 而使用 v-on 时还可以使用简化的写法...例如: 单击事件 : 事件属性名是 onclick,而在vue中使用是 v-on:click 失去焦点事件:事件属性名是 onblur,而在vue中使用时 v-on:blur 整体页面代码如下: <input type="button" value="一个按钮" @click="show...而 v-if 指令是条件不满足时根本就不会渲染。...,"西安"] } } }); 通过浏览器打开效果如下 1.4 生命周期 生命周期的八个阶段:每触发一个生命周期事件
请记住,.passive 会告诉浏览器你不想阻止事件的默认行为。 <!...为什么在 HTML 中监听事件 所有的 Vue.js 事件处理方法和表达式都严格绑定在当前视图的 ViewModel 上,它不会导致任何维护上的困难。...基础用法 文本 input 多行文本 textarea 复选框 checkbox 单选按钮 radio 选择框 select 值绑定 复选钮 单选按钮 选择框的选项 <!...修饰符 .lazy:在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步 (除了上述输入法组合文字时)。...value 特性绑定到一个名叫 value 的 prop 上 // 在其 input 事件被触发时,将新的值通过自定义的 input 事件抛出 Vue.component('custom-input'
} }); 事件绑定 什么是事件 图形界面的操作系统都是事件驱动。 系统中只要是有一个变化就会触发一个事件。 js也是事件驱动的。...单击事件绑定 原生JS onclick="onClick()" vuejs绑定 v-on:事件名称=处理方法 简写:@click=处理方法 示例 绑定事件 ..."; } } }); 键盘事件 事件名称 keydown 在文本框中敲击回车键,会触发一个keydown。...; } } } }); 按键修饰符 在监听键盘事件时,我们经常需要监测常见的键值 vue..."); } } }); 鼠标事件 事件名称 mousemove 当鼠标移动时就会触发事件 示例 <div id="root
目录Vue.js 事件处理器v-onv-onv-on事件修饰符按键修饰符Vue.js 实例导航菜单实例导航菜单编辑文本实例文本编辑订单列表实例订单列表搜索页面实例搜索页面切换不同布局实例切换不同布局-...stop - 阻止冒泡.prevent - 阻止默认事件.capture - 阻止捕获.self - 只监听触发该元素的事件.once - 只触发一次.left - 左键事件.right - 右键事件....-- 阻止单击事件冒泡 -->......<!
领取专属 10元无门槛券
手把手带您无忧上云