欢迎访问小程序员!

答案来自老外http://stackoverflow.com/questions/14795035/twitter-bootstrap-modal-blocks-text-input-field $('#myModal').on('shown', function() { $(document).off('focusin.modal'); }); 这个是国内同学的解决方法: http://www.oschina.net/question/226830_143869 //显示modal $(' ....

如今各个框架都在模块化,连前端的javascript也不例外。每个模块负责一定的功能,模块与模块之间又有相互依赖,那么问题来了:javascript的依赖注入如何实现?(javascript的依赖注入,各大框架都有相应的实现,这里只学习实现思路) 如下需求: 假设已经有定义好的服务模块Key-Value集合,func为添加的新服务,参数列表为服务依赖项。 var services = { abc : 123, def : 456, ghi : 789 }; // 假设已定义好某些Service funct ....

jquery 点击弹窗之外的地方,关闭弹窗 方法一: $(document).click(function(event){ var _con = $(".select3_box"); if(!_con.is(event.target) && (_con.has(event.target).length ===0)){ _con.remove(); $(mythis).show(); } }); 方法二: ....

关于前端模块化,玉伯在其博文 前端模块化开发的价值 中有论述,有兴趣的同学可以去阅读一下。 1. 模块加载器 模块加载器目前比较流行的有 Requirejs 和 Seajs。前者遵循 AMD规范,后者遵循 CMD规范。前者的规范产出比较适合于浏览器异步环境的习惯,后者的规范产出对于写过 nodejs 的同学来说是比较爽的。关于两者的比较,有兴趣的同学请参看玉伯在知乎的回答 AMD和CMD的区别有哪些。本文希望能按照 AMD 规范来简单实现自己的一个模块加载器,以此来搞清楚模块加载器的工作原理。 2. AMD ....

先看下面的index.html中的一段代码 不加预加载 <footer class="footer" data-role="none"> <a href="#" class="current" data-role="none" class="ui-btn-active">test</a> <a href="#" data ....

javascript虽然是一门面向对象的语言,但是它的继承机制从一开始设计的时候就不同于传统的其他面向对象语言,是基于原型的继承机制,但是在这种机制下,继承依然有一些不同的实现方式。 方法一:类式继承 所谓的类式继承就是指模仿传统面向对象语言的继承方式,继承与被继承的双方都是“类”,代码如下: 首先定义一个父类(或超类): 1 function Person(name){ 2 this.name=name; 3 } 4 5 Person.prototype.get ....

这篇文章是「深入ECMA-262-3」系列的一个概览和摘要。每个部分都包含了对应章节的链接,所以你可以阅读它们以便对其有更深的理解。 面向读者:经验丰富的程序员,专家。 我们以思考对象的概念做为开始,这是ECMAScript的基础。 对象 ECMAScript做为一个高度抽象的面向对象语言,是通过对象来交互的。即使ECMAScript里边也有基本类型,但是,当需要的时候,它们也会被转换成对象。 一个对象就是一个属性集合,并拥有一个独立的prototype(原型)对象。这个prot ....

一、什么是jsonp 为了便于客户端使用数据,逐渐形成了一种非正式传输协议,人们把它称作JSONP,该协议的一个要点就是允许用户传递一个callback参数给服务端,然后服务端返回数据时会将这个callback参数作为函数名来包裹住JSON数据,这样客户端就可以随意定制自己的函数来自动处理返回数据了。 二、例子 1、客户端写法 这里借用了前端jquery框架对jsonp的支持 var ajaxUrl = "http://192.168.8.141:9092/project/rest/team/ma ....

在Badoo的时候我们写了大量的JS脚本,光是在我们的移动web客户端上面就有大概60000行,可想而知,维护这么多JS可是相当具有挑战性的。在写如上规模js脚本客户端应用的时候我们必须对一件事保持警惕,就是避免异常的发生。在本篇文章里面,我想谈谈一部分类型检查异常,这时候你或许很难碰到 - 一个TypeError   在MDN链接里面是这么解释的: "当传递给操作符或者函数的操作符或者参数与操作符或者函数本身所期望的操作符或函数类型不兼容的时候就会抛出一个TypeError" ....

Stickup 是一个简单的 jQuery 插件,在页面滚动的时候固定一个元素到浏览器窗口的顶部,让其总是保持在视图中可见。这个插件作用于多页的网站,但是对于单页的布局有额外的功能。借助 CSS,还可以实现当前视图关联的导航菜单的高亮显示功能。 立即下载     在线演示 ....

replace方法是属于String对象的,可用于替换字符串 简单介绍: StringObject.replace(searchValue,replaceValue) StringObject:字符串 searchValue:字符串或正则表达式 replaceValue:字符串或者函数 字符串替换字符串 'I am loser!'.replace('loser','hero')//I am hero! 直接使用字符串能让自己从loser变成hero,但是如果有2个loser就不能一起 ....

jQuery是一个当前依然非常流行的Web前端JavaScript框架,这次我们要分享的就是基于jQuery的日历时钟插件,部分日历插件还是基于HTML5技术实现的,因此动画效果都还不错。有兴趣的朋友可以接下去看看。 1、jQuery多功能日历插件 带事件记录功能 这款jQuery日历插件的一大特点就是可以在每一个日期后面记录事件,并且可以设置提醒时间,如果你对JS开发比较擅长,还可以将它改进成一款即时提醒的APP应用。 在线演示源码下载 2、华丽的HTML5/CSS3日期选择器 这款HTML5日历插件的特 ....

JavaScript起源于Netscape公司的LiveScript语言,这是一种基于对象和事件驱动的客户端脚本语言,最初的设计是为了检验HTML表单输入的正确性。 早些年,JavaScript由于其复杂的文档对象模型(DOM)、糟糕的实现和调试工具、不一致的浏览器实现而不受开发者的待见。而随着技术的发展, JavaScript变得越来越的强大、完善,比如, Ajax技术可以创建更加迷人的Web应用,Node.js将JavaScript的应用范围扩展到了服务器端,各种层出不穷的框架使得JavaScr ....

今天做个快速查询的工具,在提交参数时需要把参数的md5值也同步提交上去,服务器上做校验防止表单被篡改, 由于是JavaScript写的又是自己用,每次都要用Java跑一下算出md5值十分的麻烦,想着能不能用JavaScript直接算出md5值省时省力。 搜了一下,还真有 但是下载下来使用之后,发现碰到有中文时,加密出的md5值就会出现错误,试了几个都是如此。 最后去国外的网站上找了一圈,终于发现一个完美的,功能十分强大,含多种加密:md5、sha1、sha256、sha512等。 官网及下载地址: ....

现在的JavaScript事实上已然成为了流行的web语言,即使它并不完美。很多程序员不喜欢用JavaScript写代码,是因为写到后来总会出现各种莫名其妙的bug,而且在开发大型应用程序的过程中很容易犯错。而且鉴于当今此类工具的现状,要想在浏览器上做JavaScript调试也不是那么方便。 下面这几个基于桌面和WEB的JavaScript调试工具,能让你更高效地调试JavaScript代码,这样就可以: 更有效地处理动态类型 使应用程序更符合编码标准 Firebug Firebug已经出现很多年了,它为那 ....

谈起JavaScript的 事件,事件冒泡、事件捕获、阻止默认事件这三个话题,无论是面试还是在平时的工作中,都很难避免。 冒泡篇 先来看一段实例: js: var $input = document.getElementsByTagName("input")[0]; var $div = document.getElementsByTagName("div")[0]; var $body = document.getElements ....

Javascript是一门非常灵活的语言,我们可以随心所欲的书写各种风格的代码,不同风格的代码也必然也会导致执行效率的差异,开发过程中零零散散地接触到许多提高代码性能的方法,整理一下平时比较常见并且容易规避的问题 Javascript自身执行效率 Javascript中的作用域链、闭包、原型继承、eval等特性,在提供各种神奇功能的同时也带来了各种效率问题,用之不慎就会导致执行效率低下。 1、全局导入 我们在编码过程中多多少少会使用到一些全局变量(window,document,自定义全局变量等等),了解j ....

一、基本定义: 1. 示例图: 2. 各个时间段的获取: // Navigation Timing var t = performance.timing, pageloadtime = t.loadEventStart - t.navigationStart, dns = t.domainLookupEnd - t.domainLookupStart, tcp = t.connectEnd - t.connectStart, ttfb = t.respon ....

1) 引子 前不久我建立的技术群里一位MM问了一个这样的问题,她贴出的代码如下所示: var a = 1; function hehe() { window.alert(a); var a = 2; window.alert(a); } hehe(); 执行结果如下所示: 第一个alert: 第二个alert: 这是一个令人诧异的结果,为什么第一个弹出框显示的是undefined,而不是1呢?这种疑惑的原理我描述如下: 一个页面里直接定 ....

JavaScript 6里都有啥新鲜东西?让我们一起来看看JavaScript 6的一些新特性。 let, const (用来定义block-local变量), 程序过程中的function 解构: let {x, y} = pt; let [s, v, o] = triple(); (前提是let pt = {x:2, y:-5}) 缺省参数值: function f(x, y=1, z=0) {⋯} 其它参数: function g(i, j, ...r) { return r.slice(i, j); ....