セレクターを 2 つの変数に格納しています。それらをグローバルに作成して関数で使用すると、動作時間は約0.2秒です
window.$my = {
nameEdit : $('#nameEdit'),
nameError : $('#nameError')
};
function Validation() {
console.profile();
var result = true;
if ($my.nameEdit.val() == '') {
$my.nameEdit.addClass('error');
$my.nameError.css({ 'display': 'block' });
}
else {
$my.nameEdit.removeClass('error');
$my.nameError.css({'display':'none'});
}
console.profileEnd();
}
Validaton() で別の関数をバインドしていて、この関数でそれらを使用しようとすると、時間がかかりすぎます (約 0.6 秒):
window.$my = {
nameEdit : $('#nameEdit'),
nameError : $('#nameError')
};
function Validation() {
$my.nameEdit.blur(function (evt) { ValidateName(evt); });
}
function ValidateName(evt) {
console.profile();
if ($my.nameEdit.val() == '') {
$my.nameEdit.addClass('error');
$my.nameError.css({ 'display': 'block' });
}
else {
$my.nameEdit.removeClass('error');
$my.nameError.css({'display':'none'});
}
console.profileEnd();
}