【jQuery教程】trigger()方法操作总结
这次我们来学习一下trigger(),它可以用jQuery手动执行事件处理。
什么是trigger()
让我们先从有关 trigger() 方法的基础知识说起!trigger()方法触发被选元素上指定的事件以及事件的默认行为。
一般事件处理是使用这样的 on() 方法:
//光标与任意要素重叠时执行事件处理 $('div').on('mouseenter', function() { }) //点击按钮后执行事件处理 $('button').on('click', function() { })
在某些用户动作发生后执行事件处理,例如“当光标重叠时……”或“当单击时……”。但是,通过使用trigger()可以轻松实现“更改样式并执行事件就像同时单击一样”等复杂处理。
此外也可以通过重叠鼠标来执行点击,或者通过简单地滚动屏幕来执行表单提交。在本文中,我们将从基础到应用技术详细解释trigger()!
基本用法
从这里开始,让我们了解实际使用 trigger() 方法的编程技术!作为一般的描述方法,可以指定要执行的事件名称作为参数:
<body> <input type="text"> <script> $('input').on('mouseenter', function() { $(this).trigger('focus'); }) </script> </body>
在此示例中,放置了使用 input 元素创建的输入框。通常,点击这个输入框会给它“焦点”并允许用户输入,对吧?
但是当鼠标光标与输入框重叠时,此示例使用 mouseenter 执行 trigger()。通过写“trigger('focus')”,它是有意聚焦的。
也就是说,在本示例中,您只需将鼠标光标悬停在输入框上即可进行输入。
这样一来,trigger()可以说是一大特点,它可以有意识地执行一个与平时不同的事件。
尝试点击事件
现在我们使用实际编程中经常使用的“点击事件”创建一个示例!和以前一样,可以通过编写“trigger('click')”来有意执行点击事件。
在此基础上让我们来实现例如:当按下键盘上的任何“键”时,都会执行 click 事件!
<body> <button>按钮</button> <script> $('body').on('keydown', function(e) { if(e.keyCode === 32) { $('button').trigger('click'); } }) $('button').on('click',function(){ console.log('hogehoge'); }) </script> </body>
在此示例中放置了一个按钮。当按下键盘上的“空格”时,我使用“keydown”执行 trigger()。因此,按下“空格键”将具有与单击按钮相同的效果。
传递数据
trigger() 有一个函数可以让你在事件发生时传递任意数据,如果将数据指定给第二个参数:
$('button').on('mouseenter', function() { $(this).trigger('click', ['触发事件']); })
在此示例中,当鼠标光标悬停在按钮元素上时将执行 trigger()。在trigger()中指定点击事件,在数组data中设置字符串“触发事件”。
这样写,在执行 trigger() 时,会在触发 click 事件时传递数组数据。要接收此字符串如下:
$('button').click( function( e, data ) { console.log( data + '中单击'); })
执行结果
触发事件中单击
这是在按钮元素上执行点击事件的描述。之前不是指定trigger()执行的时候触发click事件吗?这意味着将执行上述事件。
因此,trigger()设置的字符串“触发事件”存储在点击事件描述的函数的第二个参数“数据”中。
关于自定义事件
trigger() 的另一个特性是您可以运行自己的自定义事件!分配任意事件名称并将所需的处理组合为一个是很常见的。让我们看一个简单的例子!
<body> <button>按钮</button> <script> //创建自定义事件 $(document).on('newevent', function() { console.log('已执行自定义事件'); }) $('button').click(function() { $(document).trigger('newevent'); }) </script> </body>
执行结果
已执行自定义事件
在本例中我们首先使用“on()”创建一个名为“newevent”的自定义事件。这个“newevent”只有简单的输出消息到控制台日志的功能。
要使用这个自定义事件,只需像以前一样写“trigger('newevent')”!查看执行结果,可以看到消息输出。
本文来源:词雅网
本文地址:https://www.ciyawang.com/jquery-trigger-81.html
本文使用「 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 」许可协议授权,转载或使用请署名并注明出处。
相关推荐
-
jQuery淡入:提高网站用户体验的利器
在现代Web设计中,用户体验是至关重要的一环。一个好的用户体验能够吸引许多用户,使他们留在你的网站上,而一个糟糕的用户体验则可能导致用户迅速离开你的网站。在这个背景下,jQuery淡入成为了提高网站用...
-
【jQuery入门】总结如何用replace()替换字符串
replace()方法是什么? 下面就从replace方法的基础知识开始学习吧!replace方法是一种允许您用任何字符替换字符串的方法。 它对一般的字...
-
获取jquery文本表单的输入事件
编写一个示例代码,在jquery的“on”方法中使用“touchmove”获取文本表单的输入事件。获取文本表单的输入事件要获取文本表单的输入事件,请在“on”方法中指定“input”。$('指...
-
详解如何在jQuery选择器中使用正则表达式和属性过滤器
这一次,我们来学习使用正则表达式和属性过滤器来指定 jQuery 选择器的方法!比正则表达式更简单的属性过滤器是什么?让我们从学习属性过滤器开始,它比正则表达式更容易指定选择器!首先,jQuery 选...
-
使用jQuery在指定的html标签中插入html代码
编写一个示例代码,使用jquery的wrapInner()方法在指定的html标签插入插入html代码。在指定的html标签中插入html代码wrapInner()方法可以在指定的html标签插入插入...
-
详解如何使用jQuery的submit()方法提交表单
这次,我们来学习一下“submit()”方法,它可以让你从jQuery中操作Form元素的提交!什么是submit()那么我们先从“submit()”方法的基础知识说起吧!“submit()”是一种允...
-
详解jQuery使用contents()方法获取指定元素的子元素和文本节点
这一次,让我们通过一个示例来了解如何使用 jQuery 的“contents()”方法。 如果只是简单的“选择子元素”,可以在children()方法中使用,但在选择“不...
-
详解jQuery使用.show()/.fadeIn()淡入指定元素
这一次,让我们通过一个示例来解释如何使用jQuery的“.show( )/.fadeIn()”。.show()/.fadeIn() 的作用是什么?.show()/.fadeIn()可以“淡入显示dis...
-
详解jQuery使用fadeTo()方法改变指定元素的透明度
这一次,让我们通过一个示例来解释如何使用 jQuery 的“.fadeTo()”。fadeTo()方法 的功能是什么?fadeTo() 方法是逐渐改变被选元素的不透明度为指定的值(褪色效果)。但是,这...
-
详解如何使用jQuery的html()方法进行添加、获取和重写HTML
这一次,让我们来了解一下“html()”方法,它可以让您使用 jQuery 获取、添加和重写 HTML 元素!什么是html()方法让我们从学习“html()”方法的基础开始吧!通过使用“html()...