首页
学习
活动
专区
圈层
工具
发布

使用AmplifyJS和JQuery编写更好更优雅的javascript事件处理代码

事件(或消息)是一种经常使用的软件设计模式。可以减少消息处理者和消息公布者的之间的耦合,比方J2EE里面的JMS规范。设计模式中的观察者模式(也叫公布/订阅模式)。...之前写的JQuery相关博客中。具体介绍了JQuery的事件处理机制和特性,具体可以參考这个文件夹下的文章。...JQuery事件处理事实上就是使用了公布/订阅模式,包含它提供的命名空间机制、自己定义事件都非常的棒,可是JQuery事件处理有一个缺陷:JQuery事件都是和DOM元素相关的,可是非常多时候我们并不须要...仅仅希望使用事件的公布/订阅这样的机制。 代码1:假设某个DOM元素不存在。那么不能依靠它使用事件的公布和订阅。...,通过AmplifyJS的使用方式能够看到。

1.1K30

HTML5中类jQuery选择器querySelector的使用

简介 HTML5向Web API新引入了document.querySelector以及document.querySelectorAll两个方法用来更方便地从DOM选取元素,功能类似于jQuery的选择器...用法 两个方法使用差不多的语法,都是接收一个字符串参数,这个参数需要是合法的CSS选择语法。...;elementList = document.querySelectorAll('selector1,selector2,...'); 使用这两个方法无法查找带伪类状态的元素,比如querySelector...所以正确的做法是将反斜杠转义后'.foo\\:bar'再传递给querySelector,后者在接收到'.foo\\:bar'这个参数后,字符串将两个反斜杠转义成一个,然后querySelector前面得到的一个反斜杠与冒号结合进行转义得到正确结果...理解这点后,可以来看一个更有趣的例子了。比如我们要选择类名里面含反斜杠的元素。是的,我们需要一共使用四个反斜杠!才能正常工作。 ?

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

    Java 使用 Lombok 的 @ExtensionMethod 注解实现向现有的类添加新的方法

    Java 使用 Lombok 的 @ExtensionMethod 注解实现向现有的类添加新的方法 一、前言 我学习 Flutter 时发现 Dart 从2.7版本开始引入了扩展方法(Extension...在本教程中,我们将深入探讨@ExtensionMethod注解是什么、如何工作,以及如何有效地使用它。 2. 什么是@ExtensionMethod?...要使用@ExtensionMethod,我们需要在类上添加@ExtensionMethod注解,并指定包含我们要扩展的静态方法的类。...我们希望使用这个方法,就像它是String类的方法一样。Lombok的@ExtensionMethod可以帮助我们实现这一点。 添加 Lombok 依赖 首先,我们需要将Lombok依赖添加到项目中。...示例:列表求和 让我们创建一个使用列表的示例,并演示如何使用@ExtensionMethod注解来添加操作列表对象的工具方法。

    2.1K10

    书写高质量jQuery代码的6条经验

    一、正确引用jQuery 尽量在body结束前才引入jQuery,而不是在head中。 借助第三方提供的CDN来引入jQuery,同时注意当使用第三方CDN出现问题时,要引入本地的jQuery文件。...二、优化jQuery选择器 高效正确的使用jQuery选择器是熟练使用jQuery的基础,而掌握jQuery选择器需要一定的时间积累,我们开始学习jQuery时就应该注意选择器的使用。...方法2:为要查找的元素添加了上下文,在这里变为查找id为nav的子元素,查找性能得到了很大提升。 方法3:使用了find方法,它的速度更快,所以方法三最好。...尽可能的具体化的选择器——ID要比tag更好。 避免不必要的冗余。...到目前为止,无论使用哪一种浏览器,使用ID选择器和当个类选择器都是选中元素最快的方式。 2.2、避免多个ID选择符 Id选择符应该是唯一的,所以没有必要添加额外的选择符。

    1.8K90

    高质量jQuery代码的十二条经验

    选择器 高效正确的使用jQuery选择器是熟练使用jQuery的基础,而掌握jQuery选择器需要一定的时间积累,我们开始学习jQuery时就应该注意选择器的使用。...方法2,为要查找的元素添加了上下文,在这里变为查找id为nav的子元素,查找性能得到了很大提升。 方法3,使用了find方法,它的速度更快,所以方法三最好。...尽可能的具体化的选择器——ID要比tag更好。 避免不必要的冗余。...到目前为止,无论使用哪一种浏览器,使用ID选择器和当个类选择器都是选中元素最快的方式。 2.2、避免多个ID选择符 Id选择符应该是唯一的,所以没有必要添加额外的选择符。...或许javascript微型框架或jQuery的定制版是更好的选择。 虽然都是陈词滥调,但是我发现还不能很好得做到上述所有,记录下来希望自己能够全部做到。

    1.5K40

    最常见的 20 个 jQuery 面试问题及答案

    你也还可以看看 用来向DOM中添加元素的 appendTo() 方法.   15. 你如何利用jQuery来向一个元素中添加和移除CSS类?...使用类“.active"来标记它们的未激活和激活状态,等等.   16. 使用 CDN 加载 jQuery 库的主要优势是什么 ? (答案)   这是一个稍微高级点儿的jQuery问题。...get() 方法是一个只获取一些数据的专门化方法。   18. jQuery 中的方法链是什么?使用方法链有什么好处?   ...你也还可以看看 用来向DOM中添加元素的 appendTo() 方法.   15. 你如何利用jQuery来向一个元素中添加和移除CSS类?...使用类“.active"来标记它们的未激活和激活状态,等等.   16. 使用 CDN 加载 jQuery 库的主要优势是什么 ? (答案)   这是一个稍微高级点儿的jQuery问题。

    15.3K30

    jquery面试题目_高并发面试题

    鉴于这个好处,用 jQuery ready() 函数比用 JavaScript window.onload 事件要更好些。 7. 如何找到所有 HTML select 标签的选中项?...8. jQuery 里的 each() 是什么函数?你是如何使用它的?(答案如下) each() 函数就像是 Java 里的一个 Iterator,它允许你遍历一个元素集合。...你也还可以看看 用来向DOM中添加元素的 appendTo() 方法. 15. 你如何利用jQuery来向一个元素中添加和移除CSS类?...使用类“.active”来标记它们的未激活和激活状态,等等. 16. 使用 CDN 加载 jQuery 库的主要优势是什么 ? (答案) 这是一个稍微高级点儿的jQuery问题。...get() 方法是一个只获取一些数据的专门化方法。 18. jQuery 中的方法链是什么?使用方法链有什么好处?

    10.4K10

    前端页面替换文本的方法和一些小技巧

    html 示例如下: Hide 纯 Javascript/jQuery 实现 使用 Javascript 或者 使用 jQuery...纯 CSS 实现 (最近几篇 blog 好像都喜欢给出 纯 CSS 实现哈) 其实,在前端开发中,我们经常使用 :hover 等伪类,通过 CSS 来实现用户鼠标悬浮到某一元素上时,元素样式的修改。...我们可以通过 CSS 配置一个 :checked 伪类的规则。 但是隐藏的 checkbox 也是不可点击的,这里就需要使用 label 标签。...这种做法是很巧妙,但是实际使用性估计很低,其于代码可读性维护性都不高。 有一个读者给出了改进,可以放 Show 和 Hide 都放置在 DOM 中,而非分散在 CSS 中。...这样子的代码拥有更好的可读性、可维护性,也可以更好的测试、更好的重用。

    2.7K70

    我曾用 Angular 重写了 jQuery 应用,如今却被 React 逼疯了

    当时就开始发生这样的事情了。你真不能责怪 jQuery,只能责怪现代用户的需求,他们需要无处不在的交互性。所以开发人员被迫继续使用 jQuery,尽管它已经不再适合这项工作了。...后来,人们开始抱怨这种全向数据流不好,所以有人推动使用单向(自上而下)绑定,这在技术上听起来更好,但实际上让一切变得更复杂,并引发了一场讨论,最终,如今的我们不得不使用 Redux。...我理解,当 React 从类迁移到钩子时,这是最接近 componentDidMount 的替代品,但是拜托,这无论如何都是一种很不规范的做法。 使用一个“副作用”钩子来初始化组件?...作为理性的灵长类动物,我相信我们可以做得更好。我们可以尝试理解它。 我想起了我的第一份工作,想起了 “jQuery 迁移 ”项目中的一位同事。...不可避免地,当你确实需要在服务器端渲染的“应用”中添加一些脚本逻辑时,明智的做法也许是只在最必要的地方添加,越少越好。 关于这一点,我认为“交互岛”这个名字不错。

    24400

    WordPress主题中加载jQuery的最佳方法

    一般来说,在html页面底部 (也就是之前)引入JavaScript,如jQuery 和 jQuery插件是个不错的做法。...原因很简单,HTTP / 1.1规范表明浏览器不能并行下载两个以上的组件。 在WordPress模板中加载JavaScript和jQuery的最佳方法是使用wp_enqueue_script。...这样可以更好的控制JavaScript文件的加载时间点和加载位置。下图是我在丘壑博客上添加的用于代码语法高亮的JavaScript,放在子主题的functions.php文件中。...使用CDN版本的jQuery可以提升加载速度 ,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。将下面的代码放在子主题的functions.php文件中即可。 ?...从CF-Cache-Status这个http头也可以看出,bootcdn.cn的CDN使用的其实就是 Cloudflare, 一家功能非常强大的免费CDN 免费加速服务, 下一部打算把丘壑博客上的静态资源都放到上面去

    3K31

    前端面试宝典 v1

    怎么实例化这个类 严格来讲js中并没有类的概念,不过js中的函数可以作为构造函数来使用,通过new来实例化,其实函数本身也是一个对象。 48、JavaScript中的作用域与变量声明提升?...如果想删除数组中的一段元素,应该使用方法 Array.splice() splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。返回的是含有被删除的元素的数组。...*频繁操作的DOM,先缓存起来再操作。用Jquery的链式调用更好。...考察学习知识的态度,是否仅仅是停留在使用层面,要知其然知其所以然 2、jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?...请写出你的做法和思路? 29. 如何优化网页加载速度?

    3.2K41

    JavaScript 事件委托 以及jQuery对事件委托的支持

    解决方法: 利用 事件冒泡传递的机制,将本来本元素要完成的事件处理逻辑,委托给 父类节点,父类节点根据触发事件的节点信息,执行对应的事件处理逻辑。...fn   : 相应的处理函数 描述:jQuery 给所有匹配的元素附加一个事件处理函数,即使这个元素是以后再添加进来的也有效。...备注: 自jQuery1.9后 就废除这个函数,只能在jQuery1.9以前的版本中使用。...,只能在jQuery1.9以前的版本中使用。...第二,理论上委托会导致浏览器额外的加载,因为在容器内的任意一个地方事件的发生,都会运行事件处理函数,所以多数情况下事件处理函数都是在空循环(没有意义的动作),通常不是什么大不了的事儿。

    1.4K60

    jQuery插件开发学习笔记

    1.类级别的插件开发   我是这样理解的:jQuery是类,$是jQuery的别名,$('selector')为jQuery对象   这种插件类似为jQuery类添加静态的方法,然后我们就可以像在C#中调用静态方法一样使用插件...另外,为了避免与其它jQuery插件的冲突,我们可以添加自己的命名空间: jQuery.sample = { alert: function () { alert("这是一个jQuery的提示框...3.总结   jQuery为开发插件提拱了两个方法,分别是:     jQuery.fn.extend(object); 给jQuery对象添加方法。fn 是什么东西呢?...原来 jQuery.fn = jQuery.prototype,jQuery.fn.extend(object)是对jQuery.prototype进行的扩展,就是为jQuery类添加“成员函数”。...jQuery类的实例可以使用这个“成员函数”。     jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。可以理解为jQuery添加静态方法。

    69630
    领券