看别人用的依赖库的好处在于,你知道有什么可以用,什么可以借鉴。(钉钉——协作桌面应用)

PS:人最怕是不知道,而不是你不会。

1. jQuery

钉钉使用了1.9.1版本的jQuery,jQuery作为一个最为广泛使用库,已经不用说明它是什么了。

学习地址:http://jquery.com/

PS:Includes Sizzle.js

2. jQuery Hotkeys

jQuery插件,可用来监听键盘事件,几乎支持所有的组合键。

学习地址:https://github.com/jeresig/jquery.hotkeys

示例:

$(document).on('keydown', null, 'ctrl+a', function(e){
console.log('ctrl+a!!', e);
});

3. jQuery Caret

jQuery插件,处理文本框的插入位置。

学习地址:https://github.com/accursoft/caret

4. jQuery atwho

jQuery插件,自动完成提示插件(autocomplete mentions),类似微博的@功能。

学习地址:https://github.com/ichord/At.js

演示地址:http://ichord.github.io/At.js/ (支持Textarea、ContentEditable、CKeditor等富文本编辑器)

PS:基于Caret.js

5. jQuery tooltips

jQuery插件,一个简单的提示插件,风格挺舒服的。

学习地址:https://formstone.it/components/tooltip/

PS:这只是formstone其中一个库,还有其他有意思的。

6. jQuery mousewheel

jQuery插件,用于添加跨浏览器的鼠标滚轮支持。

mousewheel事件的处理函数有一点小小的变化,它除了第一个参数event 外,还接收到第二个参数delta。通过参数delta可以获取鼠标滚轮的方向和速度。

学习地址:https://github.com/jquery/jquery-mousewheel

示例:

$('#my_elem').on('mousewheel', function(event) {
console.log(event.deltaX, event.deltaY, event.deltaFactor);
});

7.  QR Code Generator

二维码生成器,纯前端生成。

学习地址:https://github.com/kazuhikoarase/qrcode-generator/tree/master/js

示例:

HTML:

<div id="code"></div>

JS:

var typeNumber = 4;
var errorCorrectionLevel = 'L';
var qr = qrcode(typeNumber, errorCorrectionLevel);
qr.addData('Hi!');
qr.make();
document.getElementById('code').innerHTML = qr.createImgTag();

PS:其他语言的该作者也有提供。

8. libphonenumber

Google的JavaScript库,用于解析,格式化和校验国际电话号码。

学习地址:https://github.com/googlei18n/libphonenumber/tree/master/javascript

9. Underscore.js

Underscore一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象。

学习地址:http://www.css88.com/doc/underscore/

PS:这个真是个不错的库。

10. AngularJS

AngularJS是一个框架(不是库),在我印象里最大的特点是双向数据绑定。

学习地址1: http://angularjs.org

学习地址2: http://www.apjs.net/

AngularJS拓展指令

1. angular-qrcode 

An AngularJS directive to creates QR Codes using Kazuhiko Arase’s qrcode-generator library.

学习地址:https://github.com/monospaced/angular-qrcode

2. angular-ui/ui-select2

This directive allows you to enhance your select elements with behaviour from the select2 library.(这个指令已经过时。)

学习地址:https://github.com/angular-ui/ui-select2

PS:这个指令依赖的jQuery select2库(https://select2.github.io/),这个库非常不错,效果如下:

3. others

还有使用到其他AngularJS拓展指令, 可在这查看:http://angular-ui.github.io/

本文为原创文章,转载请保留原出处,方便溯源,如有错误地方,谢谢指正。

钉钉js依赖库学习的更多相关文章

  1. node.js之看懂package.json依赖库版本控制

    金天:学习一个新东西,就要持有拥抱的心态,如果固守在自己先前的概念体系,就会有举步维艰的感觉.node.js依赖库的版本控制 一般node.js项目会依赖大量第三方module, 那么如何控制modu ...

  2. 通过钉钉网页上的js学习xss打cookie

    做完了一个项目,然后没啥事做,无意看到了一个钉钉的外部链接: 题外话1: 查看源码,复制其中的代码: try { var search = location.search; if (search &a ...

  3. js api 实现钉钉免登

    js api 实现钉钉免登,用于从钉钉微应用跳转到企业内部的oa,erp等,我刚刚实施完了我公司的这个功能,钉钉用起来还不错. 1 js api 实现钉钉免登,页面配置. <title>利 ...

  4. OpenCV 学习笔记 01 安装OpenCV及相关依赖库

    本次学习是基于Window10进行的.语言为python3. 1 与opencv相关的库简介 1.1 numpy numpy 是 OpenCV 绑定 python 时所依赖的库,此意味着numpy在安 ...

  5. 深入解析Backbone.js框架的依赖库Underscore.js的作用

    这篇文章主要介绍了深入解析Backbone.js框架的依赖库Underscore.js的作用,用过Node.js的朋友对Underscore一定不会陌生:)需要的朋友可以参考下 backbone必须依 ...

  6. maven基础依赖外部lib包(依赖钉钉sdk为例)

    jar包放置位置 pom.xml指定依赖 1 <dependencies> 2 <!--钉钉工具包,如缺失请到钉钉服务器开发文档下载--> 3 <dependency&g ...

  7. 钉钉JSAPI前端鉴权

    钉钉二次开发分为如下表所示三种类型的开发,只有企业内部应用才需要对JSAPI鉴权. 类型 开发方式 JSAPI鉴权 应用场景 第三方企业应用 E应用开发 不需要 用于发布到钉钉应用市场,供广大用户下载 ...

  8. 阿里钉钉技术分享:企业级IM王者——钉钉在后端架构上的过人之处

    本文引用了唐小智发表于InfoQ公众号上的“钉钉企业级IM存储架构创新之道”一文的部分内容,收录时有改动,感谢原作者的无私分享. 1.引言 业界的 IM 产品在功能上同质化较高,而企业级的 IM 产品 ...

  9. Asp.Net Core&钉钉开发系列

    阿里钉钉在商业领域的规模越来越大,基于钉钉办公的企业越来越多,将一个企业内现有用到的工具(如钉钉)能够更融入到他们的工作中,提高工作效率,那便需要开发者不断的学习.应用了,同时,个人也有一个预感,未来 ...

随机推荐

  1. Java的学习之路

    记事本 EditPlus eclipse Java的学习软件,已经系统性学习Java有一段时间了,接下来我想讲一下我在Java学习用到的软件. 1.第一个软件:记事本 记事本是Java学习中最基础的编 ...

  2. webpack摸索(一)webpack-dev-server热模块替换

    webpack-dev-server 是生成在内存中的 本地开发: index.html <!DOCTYPE html> <html lang="en"> ...

  3. JAVA集合

    为了保存数量不确定的数据或者提供映射关系的数据,Java提供了集合类,也称作集合类,Collection和Map分别为两个根接口.两个接口体系的继承系如下图 (图片来源于网络) Collection接 ...

  4. PHP新的垃圾回收机制:Zend GC详解

    概述 在5.2及更早版本的PHP中,没有专门的垃圾回收器GC(Garbage Collection),引擎在判断一个变量空间是否能够被释放的时候是依据这个变量的zval的refcount的值,如果re ...

  5. Python标准模块--functools

    1 模块简介 functools,用于高阶函数:指那些作用于函数或者返回其它函数的函数,通常只要是可以被当做函数调用的对象就是这个模块的目标. 在Python 2.7 中具备如下方法, cmp_to_ ...

  6. 深入理解javascript作用域系列第五篇——一张图理解执行环境和作用域

    × 目录 [1]图示 [2]概念 [3]说明[4]总结 前面的话 对于执行环境(execution context)和作用域(scope)并不容易区分,甚至很多人认为它们就是一回事,只是高程和犀牛书关 ...

  7. Oracle Database 11g Express Editon介绍及安装

    一.Oracle Database 11g Express版本介绍 公司项目开发中,使用的数据库是Oracle 10g和MySQL 5.5,最新因为开发需要,需要从后台读取一些数据.使用的客户端是PL ...

  8. 我的iOS开发系列博文

    之前目录性的总结了发表过的关于OC方面的文章,今天在目录性的总结一下有关iOS开发的文章.走过路过不要错过哦,今天的博文也全都是干货.写技术博客与大家交流一下思想也是不错的. 下面是我的技术博客中有关 ...

  9. Ubuntu杂记——Ubuntu下Eclipse安装Maven问题

    转:在线安装maven插件问题:Cannot complete the install because one or more required items could not be found. 使 ...

  10. Hammer.js分析(二)——manager.js

    “Manager”是所有识别器实例的容器,它为你设置的元素安装了交互事件监听器,并设置了触摸事件特性. manager.js中的代码会涉及到input.js和recoginzer.js中的内容,这里会 ...