У меня есть одна страница с двумя типами форм. У меня есть одна форма типа A сверху, а затем у меня есть 1 или более форм типа B ниже.Может ли шаблон шаблона Javascript использоваться для одиночных игр, а также для объектов, которые создаются через несколько раз?
Я использую шаблон модуля + Jquery телеграфировать все события на мои формы, ручки проверки, Ajax звонки и т.д.
Это предпочтительный/допустимый способ для определения синглтон, как в форме А, и класс объектов многократного использования, как в форме B? Они очень похожи, и я не уверен, что мне нужно использовать объект prototype
, new
или другой шаблон. Кажется, все работает для меня, но я боюсь, что я пропустил какую-то ключевую ошибку.
Form A
Javascript выглядит следующим образом:
var MyProject.FormA = (function() {
var $_userEntry;
var $_domElementId;
var validate = function() {
if($_userEntry == 0) {
alert('Cannot enter 0!');
}
}
var processUserInput = function() {
$_userEntry = jQuery('inputfield', $_domElementId).val();
validate();
}
return {
initialize: function(domElementId) {
$_domElementId = domElementId;
jQuery($_domElementId).click(function() {
processUserInput();
}
}
}
})();
jQuery(document).ready(function() {
MyProject.FormA.initialize('#form-a');
});
Form B
, который инициализируется один или несколько раз, определяется следующим образом:
var MyProject.FormB = function() {
var $_userEntry;
var $_domElement;
var validate = function() {
if($_userEntry == 0) {
alert('Cannot enter 0!');
}
}
var processUserInput = function() {
$_userEntry = jQuery('inputfield', $_domElement).val();
validate();
}
return {
initialize: function(domElement) {
$_domElement = domElement;
jQuery($_domElement).click(function() {
processUserInput();
}
}
}
};
jQuery(document).ready(function() {
jQuery(".form-b").each(function() {
MyProject.FormB().initialize(this);
});
});