3

セレクターを 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();
}
4

0 に答える 0