直接上模块后的jQuery插件的代码:

define(function (require, exports, moudles) {
return function (jQuery) {
/*这里直接贴jQuery插件的代码即可,如下就是一个例子*/
(function ($) {
/*Caps Lock 插件
$(".pass").capsLockTip();*/
$.fn.extend({
capsLockTip: function (divTipID) {
return this.each(function () {
//创建对象实例并保存。
//获取实例对象:var api = $("#txtPWD").data("txtPWD");
var ins = new $.CapsLockTip($(this));
$(this).data(this.id, ins);
});
}
});
//创建一个实例。
//___target jq目标对象。
//___divTipID 显示提示文本的div。
$.CapsLockTip = function (___target) {
//设置当前实例的配置参数。
this.target = ___target;
var _this = this;
$(document).ready(function () {
_this.target.bind("keypress", function (_event) {
var e = _event || window.event;
var kc = e.keyCode || e.which;
var isShift = e.shiftKey || (kc == 16) || false;
$.fn.capsLockTip.capsLockActived = false;
if ((kc >= 65 && kc <= 90 && !isShift) || (kc >= 97 && kc <= 122 && isShift))
$.fn.capsLockTip.capsLockActived = true;
_this.showTips($.fn.capsLockTip.capsLockActived);
});
_this.target.bind("keydown", function (_event) {
var e = _event || window.event;
var kc = e.keyCode || e.which;
if (kc == 20 && null != $.fn.capsLockTip.capsLockActived){
$.fn.capsLockTip.capsLockActived = !$.fn.capsLockTip.capsLockActived;
_this.showTips($.fn.capsLockTip.capsLockActived);
}
});
_this.target.bind("focus", function (_event) {
if (null != $.fn.capsLockTip.capsLockActived)
_this.showTips($.fn.capsLockTip.capsLockActived);
});
_this.target.bind("blur", function (_event) {
_this.showTips(false);
var pass = $('.pass').val();
if (pass.length < 8 || pass.length > 16) {
$(this).addClass('error');
$('.pass-error').css('display', 'block');
$('.pass-error')[0].innerHTML = '请输入正确的密码';
}
});
});
//显示或隐藏大写锁定提示。
this.showTips = function (display) {
if (display) {
$('.pass').addClass('capslock');
$('.pass-error').css('display', 'block');
$('.pass-error').css('color', '#888');
$('.pass-error')[0].innerHTML = '键盘大写锁定已启动,请注意!';
}else {
$('.pass').removeClass('capslock');
$('.pass-error').css('display', 'none');
$('.pass-error').css('color', '#fc6162');
}
};
//jq控件公用静态对象。
//大写锁定键状态
$.fn.capsLockTip.capsLockActived = null;
};
})(jQuery);
}
});

上面的代码是我按需要修改的一个插件的代码,模块化后,其他模块调用方法如下:

require('./checkcapslock')($);
$(".pass").capsLockTip();


与《SeaJS中jQuery插件模块化,并从其他模块引用调用的方法》相关的博文:

留言