0

我创建了一个函数,然后在页面加载时调用了这个函数,我也需要调用相同的函数,但没有它存在两次。我希望它从 $(function(){}) 停止并在单击元素时再次调用。

function myfunction(){
    console.log('message');
}

$(function(){
    myFunction();

    $('#id').click(function(){

     ...some code here ...
     myFunction();

});
})

加载页面时,控制台给我:“消息”-没关系,但是当单击#id 时,我会收到此消息两次,如果再次收到 3 次;


这是我的代码

function select_cta(){
    $('.cta-id').click(function(){
        console.log('-');
        $('.cta-id').removeClass('active');
        $(this).addClass('active');

        var cta_arr = parseInt($(this).attr('id').replace('cta-button-', ''))-1;

        $('.cta-image').fadeOut(300).removeClass('active');
        $('#'+$(this).attr('id').replace('cta-button', 'cta-image')).fadeIn(300).addClass('active');
        if(cta_data[cta_arr]){
            $('.cta-actions #cta_id').val(cta_data[cta_arr].id);    
        }
        else{
            $('.cta-actions #cta_id').val('');
        };

        if(cta_data[cta_arr]){          
            $('.cta-actions #cta_link').val(cta_data[cta_arr].link);
        }
        else{
            $('.cta-actions #cta_link').val('');
        };

    });

}

$(function(){

    select_cta();

    $('.add-new-cta').click(function(){
        var new_tab = parseInt($(this).prev().attr('id').replace('cta-button-',''))+1;
        $(this).before('<div id="cta-button-'+new_tab+'" class="cta-btn cta-id empty" style="display:none;"><span>'+new_tab+'</span><span class="onair">ON</span></div>');
        $('#cta-button-'+new_tab).fadeIn(300);
        $('.cta-images').append('<div id="cta-image-'+new_tab+'" class="cta-image " style="display:none"><img src="/assets/images/page/placeholder_cta.gif"></div>');

        select_cta();   

    })
});
4

1 回答 1

1
于 2012-12-13T00:30:32.303 回答