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

【Vue.js】1711- 深入浅出 Vue3 自定义指令

Vue.js 中有许多内置指令,比如: v-model:在表单元素上创建「双向数据绑定」; v-show:根据表达式之真假值,「切换元素的 display CSS 属性」; v-if:根据表达式之真假值...自定义指令「允许我们在渲染的 DOM 元素上应用自定义的行为」。 2....app.directive("focus", { mounted(el) { el.focus(); }, }); 在 v-for 渲染的元素上,指令钩子多次调用 mouseenter 和 mouseleave 事件展示和隐藏图片预览,使用 closest 方法获取 img 元素的父容器,并在其上添加预览图片。...,例如: v-scroll 滚动事件指令; v-mouseenter / v-mouseleave 鼠标进入/离开事件指令; v-longpress 长按事件指令; 这可以很好的帮助我们简化代码并提高开发效率

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

    JavaScript鼠标事件细讲:执行顺序+注意事项+区别比对

    与 click 不同,只要鼠标在元素上松开即触发(左右键都行)。mousedown:鼠标在元素上并按下时触发 mousedown 事件。与 click 不同,只要鼠标在元素上按下即触发(左右键都行)。...mouseenter:当鼠标位于元素上时触发 mouseenter 事件,通常与 mouseleave 配合使用。mousemove:鼠标在元素上移动时触发 moudemove 事件。...mouseout:鼠标在元素上移开时触发 mouseout 事件。mouseleave:鼠标在元素上移开时触发 mouseleave 事件。...:mouseover和mouseenter的异同体现在两个方面:是否支持冒泡事件的触发时机可见mouseover事件因其具有冒泡的性质,在子元素内移动的时候,频繁被触发,如果我们不希望如此,可以使用mouseenter...结合其对称事件, mouseleave, mouseenter DOM事件的行为方式与CSS  :hover 伪类非常相似。还有就是:mouseover先触发,mouseenter 后触发。

    3.9K21

    如何实现 Vue 自定义组件中 hover 事件以及 v-model

    监听正确的事件 那么,我们需要监听哪些事件? 我们想知道什么时候鼠标悬停在元素上,这可以通过跟踪鼠标何时进入元素以及何时离开元素来确定。为了跟踪鼠标何时离开,可以使用mouseleave事件。...检测鼠标何时进入可以通过相应的mouseenter事件来完成,但是我们不使用这个。 原因是在深度嵌套 DOM 树上使用mouseenter时可能会出现严重的性能问题。...这是因为mouseenter向输入的元素以及每个单独的祖先元素触发一个唯一的事件。 那我们会用什么来代替呢? 我们使用mouseover事件。...二者的本质区别在于,mouseenter不会冒泡,简单的说,它不会被它本身的子元素的状态影响到.但是mouseover就会被它的子元素影响到,在触发子元素的时候,mouseover会冒泡触发它的父元素....相反,我们可以添加.native事件修饰符来直接监听定制Vue组件上的DOM事件。

    20.9K10

    【C#】使用IExtenderProvider为控件添加扩展属性,像ToolTip那样

    申明: - 本文适用于WinForm开发 - 文中的“控件”一词是广义上的说法,泛指包括ToolStripItem、MenuItem在内单个界面元素,并不特指继承自Control类的狭义控件 用过ToolTip...的这俩事件分别绑定到两个总的enter和leave事件处理方法中,然后在方法中用switch区分处理;再或者,把item的功能描述填在各自的Tag属性里,然后在enter事件中只需一句viewer.Text...即当item发生了什么时要做什么事,本例当然是当item发生MouseEnter和MouseLeave时,要做一些事,所以得注册item的这俩事件。...说到这里,其实可以理解显示item功能描述的核心实现仍然是基于对相关事件的注册,也就是说本质上,与前面提到的分别为各个item注册事件这种看起来原始且笨的方式是一样一样的,用了ToolDescribe也没有什么高大上的地方...当然这里说的是应用层面,底层VS对IExtenderProvider程序做了些什么那自然是高大上的; 6、实现上述事件的处理方法,本例就是item_MouseEnter和item_MouseLeave,

    1.7K20

    JQuery几个mouse事件的区别和用法

    jQuery常用的Mouse事件有7种,分别是: mouseup:鼠标在元素上松开时触发 mouseup 事件。与 click 不同,只要鼠标在元素上松开即触发。...mousedown:鼠标在元素上并按下时触发 mousedown 事件。与 click 不同,只要鼠标在元素上按下即触发。...mouseenter:当鼠标位于元素上时触发 mouseenter 事件,通常与 mouseleave 配合使用。 mousemove:鼠标在元素上移动时触发 moudemove 事件。...mouseout:鼠标在元素上移开时触发 mouseout 事件。 mouseleave:鼠标在元素上移开时触发 mouseleave 事件。...打印结果如下图, mouseover 和 mouseout 在包含子元素的情况下会多次触发,mouseover 即使不包含子元素也会不断触发,mouseenter 在鼠标划入时触发一次,mouseleave

    2.8K00

    4-Jquery学习四-事件操作

    ; } }; //为n5绑定mouseenter mouseleave两个事件 $("#n5").bind( eventsMap ); 3,unbind unbind()函数用于移除匹配元素上绑定的一个或多个事件的事件处理函数...应是selector的祖辈元素,selector触发的事件可以被其祖辈元素在事件流中捕获,从而以"代理"的形式触发事件。...); } }); 11,trigger trigger()函数用于在每个匹配元素上触发指定类型的事件。...12,triggerHandler triggerHandler()函数用于在每个匹配元素上触发指定类型的事件。...focusin事件绑定处理函数(可以绑定多个,触发时按照绑定顺序依次执行): focusin是支持冒泡的,当我们把鼠标光标放入文本框时,该事件冒泡传递到父元素p上,因此可以在p元素上触发focusin事件

    4.5K90

    从零开始学 Web 之 jQuery(五)操作元素其他属性,为元素绑定事件

    如果我们在设置为原来宽高2倍的时候,就要先把获取的宽高转换成数字类型,再乘以2,这样操作比较麻烦,有没有简单的方法呢?...3、这里的 top 是包括:top 的值和 margin-top 值之和。 4、在设置的时候,left 和 top 的值是数字,没有 px。...() 元素.scroll(function() {}); // 元素卷曲事件,元素在向上或向左卷曲的时候触发的事件。...四、为元素绑定事件 1、方式一:(事件名) 语法: 元素.事件名(事件处理函数); 示例: // 绑定鼠标进入,离开,点击事件 $("#btn").mouseenter(function ()...$("#btn").mouseenter(function () { console.log("mouseenter"); }).mouseleave(function ()

    59640

    Vue专题 03_那些年你见没见过的指令(v-?)

    : 鼠标事件 Event Name Fired When click 在元素上按下并释放任意鼠标按键。...contextmenu 右键点击(在右键菜单显示前触发) dblclick 在元素上双击鼠标按钮。 mousedown 在元素上按下任意鼠标按钮。 mouseenter 指针移到有事件监听的元素内。...mouseleave 指针移出元素范围外(不冒泡) mousemove 指针在元素内移动时持续触发。 mouseover 指针移到有事件监听的元素或者它的子元素内。...mouseout 指针移出元素,或者移到它的子元素上 mouseup 在元素上按下并释放任意鼠标按键。 select 有文本被选中。 wheel 滚轮向任意方向滚动。...-- 下边一行代码是错误的,因为v-model只能应用在表单类元素(输入类元素)上 --> <!

    2.3K10

    jquery 绑定事件 - mouseover() mouseout() mouseenter() mouseleave() hover()

    mouseenter() 鼠标进入(进入子元素不触发) mouseleave() 鼠标离开(离开子元素不触发) hover() 同时为mouseenter和mouseleave事件指定处理函数 ready...果然,这个子元素也是会触发mouseout()事件的。 mouseenter() 鼠标进入(进入子元素不触发) 上面两个事件都是具备事件冒泡的特性,看看这个有没有,如下: ? ?...当子元素在父元素内部的时候,mouseenter()就只会触发一次而已。也就是刚刚进入父元素#big div的时候触发,再进入#small div的时候就不会触发了。...mouseleave() 鼠标离开(离开子元素不触发) 相信这个mouseleave()也是一样的特性,跟mouseenter()差不多才对,下面来看看。 ? ?...hover() 同时为mouseenter和mouseleave事件指定处理函数 这个hover()方法其实就是mouseenter()和mouseleave()的合并方法,如下: ? ?

    3K30

    ReactPortals传送门

    例如,如果有一个嵌套的DOM结构,此时我们在元素a上绑定了MouseEnter事件,当鼠标从该元素外部移动到内部时,MouseEnter...例如,如果有一个嵌套的DOM结构,此时我们在元素a上绑定了MouseEnter事件,当鼠标从该元素内部移动到外部时,MouseLeave...实际上两种事件流都是可以阻断的,只不过MouseEnter/MouseLeave需要在捕获阶段来stopPropagation,一般情况下是不需要这么做的。...我个人还是比较推荐使用MouseEnter/MouseLeave,主要有这么几点理由: 避免冒泡问题: MouseEnter和MouseLeave事件不会冒泡到父元素或其他元素,只在鼠标进入或离开元素本身时触发...当然究竟使用MouseEnter/MouseLeave还是MouseEnter/MouseLeave事件还是要看具体的业务场景,如果需要处理鼠标移入和移出元素的子元素时或者需要利用冒泡机制来实现功能,那么

    26750

    Vue.js中循环语句的使用方法和相关技巧

    概述在Vue.js的开发中,循环语句是非常常用的语法之一。通过循环语句,我们可以对数组和对象进行遍历,动态生成重复的HTML元素或执行一系列的操作。...v-for指令还支持在对象上循环,可以遍历对象的属性和值。...通过对数组进行排序,可以调整元素的顺序,并根据排序后的结果进行渲染。5. 循环中的事件处理在循环语句中,经常需要对生成的HTML元素绑定事件处理函数。...例如,对于一个列表,可能需要为每个列表项添加点击事件。在Vue.js中,可以使用循环的索引或唯一标识符作为参数传递给事件处理函数。...本文详细介绍了Vue.js中循环语句的使用方法和相关技巧,包括v-for指令的基本用法、循环的嵌套、循环的过滤和排序,以及循环中的事件处理。

    76120

    JQuery之内置函数响应事件

    3.keyup  当按钮被松开时,发生 keyup 事件。它发生在当前获得焦点的元素上。注释:如果在文档元素上进行设置,则无论元素是否获得焦点,该事件都会发生。...该事件大多数时候会与mouseleave 事件一起使用。与 mouseover 事件不同,只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。...该事件大多数时候会与mouseenter 事件一起使用。与 mouseout 事件不同,只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。...只有在鼠标指针离开被选元素时,才会触发 mouseleave 事件。请看下面例子的演示。 6.mouseover  当鼠标指针位于元素上方时,会发生 mouseover 事件。...只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。请看下面例子的演示。 7.mouseup  当在元素上放松鼠标按钮时,会发生 mouseup 事件。

    2.1K60

    mouseenter以及mouseleave兼容性

    在IE的全系列中都实现了mouseenter和mouseleave事件,但是在早期的w3c浏览器中却没有实现这两个事件。...有时候,我们需要使用 mouseenter事件来防止子元素的冒泡,这就涉及到事件兼容性的问题了。...先比较mouseenter和mouseover的异同点,当从元素外围进入元素内部时同时触发mouseover和mouseenter事件,但是在元素内部, 鼠标进入元素子节点时会继续触发mouseover...事件,该事件是可以向上冒泡的;对于mouseenter则不会冒泡,当然也不会触发该事件。...mouseleave亦然。 用mouseover来模拟mouseenter的关键在于利用事件的relatedTarget判定鼠标是否在元素内部移动,这也涉及到dom元素contain() 的实现。

    1.4K70

    JQ事件和事件对象

    () 鼠标按下和松开事件    5 mouseover()/mouseout() 鼠标移入和移出事件   6 mouseenter()/mouseleave() 鼠标移入移出事件   //mouseover...()/mouseout()和mouseenter()/mouseleave()的区别    首先来了解一下事件冒泡和捕获     事件冒泡:内部事件先触发,然后在触发外部事件     事件捕获:外部事件先被触发...,然后在触发内部元素     mouseover()/mouseout() :鼠标移入“所选元素以及后代都会触发”     mouseenter()/mouseleave():鼠标移入“所选元素”才会触发...()和focusin() 的区别   focusin可以在父元素上检测子元素获得焦点的情况 而focusout可以在父元素上检测子元素失去焦点情况  四 其他事件   1 scroll()滚动滚动条时触发的事件...1 event .type   描述事件的类型        2 event.target  触发该事件的DOM元素        3  event.currentTarget 在事件冒泡阶段中的当前DOM

    4.1K20

    面试官:mouseenter与mouseover有何异同?怎么模拟mouseenter?

    不知道大家在面试或者工作过程中有没有被mouseover和mouseenter(对应的是mouseout和mouseleave)事件所困扰。...自己之前在面试的时候就有被问到诸如mouseover和mouseenter事件的异同之类的问题?...大概意思是:和mouseover不同的是,mouseenter不支持事件冒泡 (英语比较渣,凑合看哈) 由于mouseenter不支持事件冒泡,导致在一个元素的子元素上进入或离开的时候会触发其mouseover...ul上的mouseover事件,然而右边ul的mouseenter事件没有被触发。...对于ul上添加的mouseover事件来说,relatedTarget只可能是 ul的父元素wrap(移入ul时,此时也是触发mouseenter事件的时候, 其实不一定,后面会说明), 或者ul元素本身

    1.1K30

    mouseenter与mouseover为何这般纠缠不清?

    前言 项目地址 不知道大家在面试或者工作过程中有没有被mouseover和mouseenter(对应的是mouseout和mouseleave)事件所困扰。...自己之前在面试的时候就有被问到诸如mouseover和mouseenter事件的异同之类的问题?...,凑合看哈) 由于mouseenter不支持事件冒泡,导致在一个元素的子元素上进入或离开的时候会触发其mouseover和mouseout事件,但是却不会触发mouseenter和mouseleave事件...ul上的mouseover事件,然而右边ul的mouseenter事件没有被触发。...ul的父元素wrap(移入ul时,此时也是触发mouseenter事件的时候, 其实不一定,后面会说明), 或者ul元素本身(在其子元素上移出时), 又或者是子元素本身(直接从子元素A移动到子元素B)。

    1.7K70
    领券