<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
//来源:http://blog.csdn.net/joyous/article/details/51908058
/*********************************原始方法******************************/
// var input = $('#J_input');
// //获取数字
// function getNum(){
// return input.val().length;
// }
// //渲染元素
// function render(){
// var num = getNum();
// if ($('#J_input_count').length == 0) {
// input.after('<span id="J_input_count"></span>');
// }
// $("#J_input_count").html(num+'个字');
// }
// //监听事件
// input.on('keyup',function(){
// render();
// });
// //初始化渲染
// render();
/*********************************作用域隔离******************************/
// var textCount = {
// input:null,
// init:function(config){
// this.input = $(config.id);
// this.bind();
// return this;
// },
// bind:function(){
// var self = this;
// this.input.on('keyup',function(){
// self.render();
// });
// },
// getNum:function(){
// return this.input.val().length;
// },
// //渲染元素
// render:function(){
// var num = this.getNum();
// if ($('#J_input_count').length == 0) {
// this.input.after('<span id="J_input_count"></span>');
// };
// $("#J_input_count").html(num+'个字');
// }
// }
// $(function(){
// textCount.init({id:'#J_input'}).render();
// });
/*********************************闭包写法******************************/
var TextCount = (function(){
//私有方法,外面将访问不到
var _bind = function(that){
that.input.on('keyup',function(){
that.render();
});
}
var _getNum = function(that){
return that.input.val().length;
}
var TextCountFun = function(config){
}
TextCountFun.prototype.init = function(config){
this.input = $(config.id);
_bind(this);
return this;
}
TextCountFun.prototype.render = function(){
var num = _getNum(this);
if ($('#J_input_count').length == 0) {
this.input.after('<span id="J_input_count"></span>');
};
$("#J_input_count").html(num+'个字');
}
//返回构造函数
return TextCountFun;
})();
$(function() {
new TextCount().init({id:'#J_input'}).render();
})
</script>
</head>
<body>
<input type="text" id="J_input"/>
</body>
</html>
【javascript】JS插件化开发
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- https://github.com/jobbole/awesome-javascript-cn 包管理器管理着 ...
- 引言: 在前篇教程中,开发了一个oc与js互相调用的alert插件但遗留下的问题是h5开发者在调用我们插件时,并不...
- (一) Date对象 概述 Date对象是JavaScript提供的日期和时间的操作接口。它可以表示的时间范围是,...
- 引言 上篇文章我们有介绍如何获取插件的Resource加载其资源,例子支持加载res文件夹下的素材资源例如动画、图...
- 引言 本文讲解宿主如何从插件apk中获取到资源,为啥要从插件中获取资源呢?这种需求可能来自于显示插件的名字啊,图标...