JS var:帮助我理解这一点

时间:2016-09-15 09:28:42

标签: javascript jquery

我想我还没有正确理解var scalabality。你能解释一下这个:

我有这样的功能:

function myFunction () {
    var test = $(this).data('type');
    console.log("start :"+test);

    $.ajax({
        url: 'myUrl',
        type: 'POST',
        contentType: false,
        processData: false,
        dataType: 'json',
        data: data,
        success: function (response) {
            console.log("end :"+test);
        }
    });
}

单击按钮时会调用此函数:

$('.js-button').on('click', myFunction);

当我提交表单时,我必须触发所有可见按钮的点击,以便我这样做:

$('.submit').click(function(){
    $('.button').each(function(){
        if ($(this).is(":visible")){
            $(this).trigger("click");
        }
    });

    return false;
});

在我的函数中,“$(this).data('type')”获取按钮的数据类型属性

如果我有2个数据类型=“toto”和data-type =“titi”的可见按钮,我有这个日志:

start :toto
start :titi
end :titi
end :titi

为什么我在ajax回调中有两次“titi” 我认为“var test”不是全球性的,我错了

感谢您的帮助

编辑:这是jsFiddle 如果声明“test”没有“var”,则可以重现 如果你写“var test = = $(this).data('type');”它工作正常

0 个答案:

没有答案