我想創建我的第一個jQuery插件,它應該提供輸入限制的方法。這是代碼。但我不知道如何爲keydown事件傳遞參數「event」。關鍵限制jquery插件
(function ($) {
var methods = {
IntegerOnly: function (event) {
// Allow: backspace, delete, tab, escape, and enter
if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 ||
// Allow: Ctrl+A
(event.keyCode == 65 && event.ctrlKey === true) ||
// Allow: home, end, left, right
(event.keyCode >= 35 && event.keyCode <= 39)) {
// let it happen, don't do anything
return;
}
else {
// Ensure that it is a number and stop the keypress
if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105)) {
event.preventDefault();
}
}
}
};
$.fn.inputRestriction = function (method) {
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
} else if (typeof method === 'object' || !method) {
return methods.init.apply(this, arguments);
} else {
$.error('Method ' + method + ' does not exist on jQuery.inputRestriction');
}
};
})(jQuery);
它應該被稱爲像
$('#txtInteger').inputRestriction('IntegerOnly');
如何使用這個插件應該?你沒有綁定事件處理程序,應用程序是否應該在自己的'keydown'處理程序中調用它? – Barmar 2013-04-11 00:57:38