jQuery教程(第4部分)–事件侦听器

今天,我们要把它提高一个档次,并真正显示jQuery的亮点-事件。如果您遵循了以前的教程,那么您现在应该对jQuery的基本代码结构以及如何使用它调试jQuery代码有一个很好的了解。

事件–除其他用途外–让您做出反应页面上发生的事情以及用户交互-单击,滚动以及所有奇特的东西。

无论如何是什么事件?

对于那些涉及图形化编程的新手某种接口,事件是指用户与应用程序之间的任何类型的交互;或可以通过其他过程在内部生成。应用程序选择要“监听"的事件,并在触发该事件时以某种方式做出反应。

例如,在iPhone屏幕上点击将生成一个带有“ x"的“ tap event" ,y精确地指向您点击的位置。如果您点击某个特定的对象(例如按钮),则该按钮很可能正在监听该事件,并会相应地执行某些操作。如果它只是界面的空白部分,则事件没有任何关联,因此什么也不会发生。

在屏幕上拖动手指会生成另一个事件,其中包括有关开始和结束的信息阻力运动的点,也许还有速度。事件为我们提供了一种对发生的事情做出反应的简单方法

容易:单击

也许最容易监听的事件是点击事件,每当用户单击元素时触发。不必是特定的“按钮",您可以将事件侦听器附加到屏幕上的任何内容,但作为Web开发人员,您显然需要使之直观。可以使用隐藏在文本段落中的字母 a 创建一个伪按钮,但是有些愚蠢。

多年来,附加事件侦听器的方法发生了很大变化正如jQuery所开发的一样,但这是当前使用的方法,使用on():

$(action);

在类 .clickme,上的任何元素上侦听“ click"事件然后将包含所单击元素的 text 的消息记录到控制台,您将执行以下操作:

$(".clickme").on("click",function(){console.log($(this).text());});

您应该能够看到我们在此处嵌入的操作是一个匿名函数,它使用 this 选择器(指的是jQuery当前正在处理的任何对象)–在这种情况下,是单击的东西。然后,我们提取该单击的对象的文本并将其记录到控制台。容易,对吗?

停止默认操作:

有时,您需要附加到链接或表单提交按钮之类的东西,通常可以执行其他操作。在这种情况下,您很可能不想执行原始操作–相反,您想执行一些精美的AJAX或特殊的jQuery魔术。

为了防止发生默认操作,我们有一个方便的方法,称为preventDefault。明显。让我们看看处理表单的“提交"按钮时如何工作

此处有一些更改–首先,我们将附加到 submit 事件而不是单击。这在处理表单时更为合适,因为用户可能会 tab-space ,点击 enter 或点击 submit 按钮-所有这些将触发表单的默认操作。我们还将事件变量传递给匿名函数,因此我们可以引用事件数据。然后,我们将 event.preventDefault() return false 结合使用来阻止所有常规操作完成。

在这种情况下,它只是将事件记录到控制台,但实际上您可能在这里有一个AJAX处理程序,我们将在下一课中解决。

事件也可以由您触发

焦点通常与输入字段一起使用,以在用户使用时触发消息单击框以输入文本–例如,使用格式的说明性消息。但是您也可以使用它在页面加载后强制用户进入用户名字段,以便他们可以立即开始输入其登录详细信息。

如果您还向该用户名字段附加了焦点事件监听器,当您强制聚焦时也会触发该事件。因此,事件既可以被触发也可以被监听。

现在,通过附加页面上的各种事件进行练习–您可以在此处找到所有可用事件的完整列表–请记住使用preventDefault一个链接或按钮,然后查看您从控制台获得的有关事件数据的输出。

我将在今天这个小系列jQuery教程快要结束时将其保留在此处。最后,您应该有足够的信心在页面上扔一些jQuery并使其起作用。下周,我们将介绍AJAX,它是现代Web的重要组成部分,可让您在不中断用户的情况下在后台加载和发送请求。

与往常一样,欢迎您提供反馈,问题,评论和问题。

图片来源:通过Shutterstock的触摸屏

标签: JavaScript jQuery 编程 Web开发