【转·译】编写不唐突的JavaScript(unobtrusive-javascript)的七条准则 | GCidea's blog

作者:JerryXia | 发表于 , 阅读 (1)
目录1. 前言2. 原文内容2.1. 不要做任何假设(JavaScript是一个不可靠的助手)2.2. 找出钩子和节点关系(HTML是脚本的基石)2.3. 把遍历交给专家来做 (CSS,更快地遍历DOM)2.4. 理解浏览器和用户(在既有的使用模式上创建你所需要的东西)2.5. 理解事件(事件处理会引起改变)2.6. 为他人着想(命名空间,作用域和模式)2.7. 为接手的开发者考虑(使维护更加容易)
前言  “unobtrusive javascript—不唐突的JavaScript”最早是从《JavaScript权威指南》中看到,13.2节最先出现了这个概念。我认为也可以描述成“优雅的JavaScript”,指的是那些拥有良好的编码规范,易于维护的JavaScript写法和注意事项。进而在网上看到了这篇“编写不唐突的JavaScript(unobtrusive-javascript)的七条准则”,做以记录和分享。
原文内容不要做任何假设(JavaScript是一个不可靠的助手)不要假设JavaScript是可用的,你最好认为它很有可能是不可用的,而不是直接依赖于它。在你经过测试确...阅读全文

jQuery的ajax()方法详细分析 | GCidea's blog

作者:JerryXia | 发表于 , 阅读 (1)
目录1. 前言2. 核心3. 分类3.1. 全局Ajax事件处理函数(Global Ajax Event Handlers)3.2. 辅助函数(Helper Functions)3.3. 基础接口(Low-Level Interface)3.4. 速写函数(Shorthand Methods)4. $.ajax()详细介绍4.1. 描述:使用该方法可发起一个异步HTTP请求。4.2. version1.5 格式:jQuery.ajax( url [, settings ] )4.3. version1.0 格式:jQuery.ajax( [ settings ] )5. 注意事项6. jqXHR对象7. 回调函数队列(Callback Function Queues)8. 数据类型(Data Types)9. 向服务器发送数据(Sending Data to the Server)10. 高级选项(Advanced Options)11. 可扩展的Ajax(Extending Ajax)12. 使用转换器(Using Converters)13. 附加提醒14. 总结
前言  aja...阅读全文

HTML转义字符 | GCidea's blog

作者:JerryXia | 发表于 , 阅读 (1)
目录1. 背景2. 最常用的字符实体
背景  HTML转义字符又称字符实体。一些字符在HTML中有特殊的含义,比如小于号”<”已经用于定义HTML标签的开始。而这些标签在渲染出的html页面是不会显示出来的,如果我们希望浏览器正确地显示这些字符,我们必须在HTML源码中插入字符实体。  字符实体有三部分,而且有两种写法:
一个和号(&) + 一个实体名称 + 一个分号(;)一个和号与一个井号(&#) + 一个实体编号 + 一个分号(;)
比如,要在HTML文档中显示小于号,需要这样写:< 或者 <
使用实体名称的好处:名称相对来说更容易记忆。使用实体名称的坏处:并不是所有的浏览器都支持最新的实体名称,然而几乎所有的浏览器对实体编号的支持都很好。注意:实体对大小写敏感。
...阅读全文

使用JavaScript实现短信重发倒计时 | GCidea's blog

作者:JerryXia | 发表于 , 阅读 (2)
目录1. 主要html结构2. 效果3. 主要逻辑
主要html结构以下html片段表示了重发倒计时组件的文档结构,依赖Amaze UI样式框架。
onclick=”btnSendMsgAgain();return false;”中的return false作用:验证码是位于form表单中的,点击该按钮的作用是发送验证码,而不是提交表单,return false为了彻底阻止元素的默认事件。
123<div class="am-u-sm-4  am-margin-left-0 am-padding-left-0">    <button id="getVerifyCodeAgain" type="button" class="am-btn am-margin-left-0" onclick="btnSendMsgAgain();return false;">发送验证码</button></div>效果
主要逻辑12345678910111213141516171819202122232425262728293031323334353637383940414243444546474...阅读全文

使用JavaScript实现非法输入字符实时过滤 | GCidea's blog

作者:JerryXia | 发表于 , 阅读 (1)
目录1. 前言2. 解决3. 说明
前言  表单提交是一项常见操作,对于输入内容的合法性必须在前后端都做验证才能保证可靠性。表单验证有很重要的意义,除了防止注入攻击之类的安全问题外,有时如果不能正确的进行验证,可能会使合法的页面渲染受到影响。比如在实际开发中遇到的一种问题,jsp页面使用JSTL库自定义标签渲染后台传来的数据时,需要将这组数据作为参数传入相应点击事件的回调函数,如果参数中一旦也有双引号”,就会导致解析错误—onclick属性值未能正常闭合。如下图所示:
解决  一般前端表单验证有以下几种方式:
html5自带表单验证,如maxLength、min、max等jQuery第三方验证库:jquery.validate.js自定义正则表达式进行验证一般的交互提示形式有以下几种:
随着输入结束表单元素(如输入框)失去焦点,旁边提示tip点击确定提交表单时,弹出模态框提示有误实时监测输入内容,对于非法输入直接过滤(即无法向输入框中输入这些非法字符)本文采用: 自定义正则表达式 + 实时监测输入内容,对于非法输入直接过滤
html文件:1234567891011121314...阅读全文