位置: 编程技术 - 正文

jquery下组织javascript代码(js函数化)(jquery java)

编辑:rootadmin
从神奇的"$"函数开始 "$"函数将在文档加载完成之后为一个指定的button 绑定事件,这些代码在单个网页中工作正常。但是如果我们还有其它的网页,我们将不得不重复这个过程。 如果我们需要另一个行为的button怎么办?比如象这样: 接下来,更多的问题出现了,我们需要很多这样的button, 这好象也不难。 一个页面里面同种出现了两种button ...... 但是呢,不是所有的页面都会用到这两种的button,为了不在页面上使用额外的选择器,我们要作一些必要的调整,因为基于class的选择器的性能相对于id选择器开销很大,需要遍历所有dom元素,并使用正则表达式匹配class属性来选定满足条件的元素。 我们的项目功能越来越复杂,经过一段时间以后,变成了这个样子, quick but dirty...... 这真是太糟糕了,我们需要在一个页面上加载许多个代码片断才能绑定所有的事件,如果我们再将不同的代码分装入多个js文件中这将增加多个页面资源的http请求,不论是管理还是用户体验都将面临挑战,我们需要找到一个更佳的解决方案。 既然 class selector 的开销这么大,我们能不能在一次扫描中绑定所有的事件?我们可以尝试一下: 我们的DOM元素这样写: <a href="javascript:;" class="j a_sayhello">Say Hello</a> <a href="javascript:;" class="j a_unlike">Say Unlike</a> 这样看起似乎好多了,我们只需要在页面加载的时候执行一次class selector(在上面的代码中就是所有'.j'的元素)就可以找到所有需要绑定事件的元素,具体绑定哪一个组件由 class 名称里面的 a_xxx 来决定,对应着 Yottaa.init_xxx,并将当前元素的引用作为参数传入事件逻辑中。 在这个处理模式下,我们不需要再次手动编写事件处理的逻辑并将它放到 $(function(){ .... }); 这样的初始化函数中,所有我们要做的事情仅仅是给组件的“容器”加上两个 class: "j a_XXX"程序即可帮我完成事件绑定工作,是不是很 cool ?象常用的展开/折叠效果,全选/反选效果, tab切换以致于一些其它的简单功能都可以使用这种方式。难道这就是传说中的银弹?不,事情没那么简单,我们应该看到这种处理方式一些弱点: 不能给组件传递初始化参数。 不能体现出组件的包含关系,也不能利用继承和多态等面向对象的特性使程序更容易编写和理解。 对于部分具体关联关系的组件在处理上略显麻烦,没有合理的事件通知机制。 我们来看看第一条:关于参数的传递,在许多场景下对于多个条目的列表,对应每一个条目我们一般会给元素分配一个唯一一的id,这些元素的行为类似,不同之处只是服务器端的编号不同,比如一个留言列表或者是一个产口列表。我们可以利用id属性为我们作一些事情,看下面的代码,我们用id属性把条目对应的服务器端编号告诉javascript,并在接下来的事件逻辑处理中作为服务器回调函数参数的一部分发回服务器端。 在更复杂的一些场景中我们可以利用页面上的inline code给组件传递一些必要的信息。 上面讨论了一种可能的代码组织办法,但是并非适用于所有的项目,我们要做的是:针对于目前的现状,找到一个在代价比较小的重构方案。我们考虑如下几点: 分离元素的事件绑定代码和组件代码:组件代码包括jquery库,相关扩展插件,以及我们自己编写的小部件,如chartbox等内容。 事件绑定及处理逻辑:按不同的组件划分为多个模块,每个模块放入一个function中。 页面需要指定哪些模块要在本页面上初始化,提供一个列表交由全局的事件绑定器统一处理。 下面来演示一下部分代码:

推荐整理分享jquery下组织javascript代码(js函数化)(jquery java),希望有所帮助,仅作参考,欢迎阅读内容。

jquery下组织javascript代码(js函数化)(jquery java)

文章相关热门搜索词:jquery操作class,jquery java,jquery操作class,jquery jwt,jquery的join方法,jquery的join方法,jquery jwt,java中jquery,内容如对您有帮助,希望把文章链接给更多的朋友!

JavaScript使用过程中需要注意的地方和一些基本语法 1、Javacsript实现超链接:ahref="javascript(‘Hello')点点/a2、JavaScript中函数调用可以在函数声明之前。3、JavaScript中不像C#中那样要求所有路径都有返回值,

De facto standard 世界上不可思议的事实标准 前些天IEBlog中提到实现互通并不是只靠标准就行,其中举出了一些关于事实上的标准的考虑——所谓事实上的标准,也就是并非标准,但大家都遵循着

JavaScript的类型简单说明 原始类型是直接存储在栈(stack)上的,引用类型是存储在堆(heap)上的。原始类型又分为以下5种:Undefined、Null、Boolean、Number、StringUndefined类型:Undefined

标签: jquery java

本文链接地址:https://www.jiuchutong.com/biancheng/381909.html 转载请保留说明!

上一篇:js中常用的弹出对话框3种方式(js弹出提示窗口)

下一篇:JavaScript使用过程中需要注意的地方和一些基本语法(javascript用的多吗)

  • 收到退税款怎么入账
  • 车辆购置税计入固定资产入账价值吗
  • 税收分类编码表下载2023
  • 购入原材料计划成本
  • 地税票子怎么补办
  • 电子发票入账是什么意思
  • 出口报关单运费小于实际运费
  • 坏账准备递延所得税资产怎么算
  • 铁路运输发票的开具要求
  • 劳务派遣公司收取劳务费应开具什么票
  • 办公设备折旧年限及残值率
  • 储备基金是用来干嘛的
  • 企业买茶叶如何账务处理
  • 公司办公室租赁费会计分录
  • 差旅费补贴需要缴纳个人所得税吗需要发票
  • 财税〔2017〕39号商业健康保险个人所得税
  • 无票收入如何做会计凭证
  • 残障人士能享受的税收优惠
  • 新疆税收扶持丝路古镇喀什重放异彩
  • 车间扫帚存放架子
  • 小规模纳税人可以抵扣增值税专用发票吗
  • 筹建期员工社保分录
  • 从贸易公司购买来的货物可以退税吗
  • 计提小规模增值税的账务处理
  • 车间日常维修费用计入什么科目
  • Linux系统中怎么开机自动运行拍摄文件
  • 协调费用应该怎么表述才合理
  • 初品官网
  • 2021发票勾选认证
  • 材料成本差异如何做账
  • Laravel 5.4因特殊字段太长导致migrations报错的解决
  • 发票上可以盖财务专用章和发票专用章吗
  • 个人房屋出租税票怎么开
  • php连接mysql8.0
  • php制作网页
  • vue内置指令实验总结
  • trainer 平替
  • 使用灭火器人要站在上风口还是下风口
  • 购买商品发生的费用计入
  • 承租人对融资租赁的处理原则
  • 小规模纳税人在什么情况下会成为一般纳税人
  • 工会经费可以发购物卡吗
  • java--IO流 ☞ 字节流
  • 外币汇兑损益怎么计算
  • 应交增值税为负数是什么意思
  • 个体工商户营业执照申请流程
  • 幼儿园账务处理实务
  • 电梯安装费如何分摊
  • 投资软件和信息技术服务业
  • 转贴现占谁的授信
  • 公允价值变动损益和投资收益区别
  • 代收水电费如何入账
  • 企业录用失业人员补贴
  • 投资收益科目在借方
  • 出口退税企业如何更正申报增值税
  • 发票上的数量怎么填写
  • 工程结算与开票的关系
  • 长期待摊费用如何做分录
  • 记帐凭证会计处理程序及其应用
  • 最新mysql数据库安装步骤
  • mysql解压版怎么使用
  • mysql 行转列 列转行
  • xp系统安装惠普1010教程
  • xp系统 win7
  • 服务器控制电脑
  • 在64位的Ubuntu系统上安装32位的WPS的方法
  • 用u盘重新装系统
  • windows无法验证你的凭据
  • win7无法安装谷歌
  • win10怎么添加蓝牙驱动
  • unity unity3d
  • Node.js中的事件循环是什么样的
  • angular 图片懒加载
  • shell while 小于
  • node-js
  • android事件响应和处理机制
  • 【Rayeager PX2分享】OpenCV入门之线段检测
  • 哪些润滑油属于润滑剂
  • 江西国税电子税务局
  • 有关单位和个人应该怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设