5

これは本当に私を困惑させます。私はmain.jsファイルで定義された関数を持っています。これはヘッダーにロードされ、後で HTML コードの最後でその関数を呼び出しています。Chrome ではUncaught ReferenceError: delete_image is not definedというエラーが表示されますが、Firefox では正常に動作しています (Opera でも同じエラーが表示されます)。何が起こっている?

関数:

function delete_image(button, data = false){
    button.on('click', function(){
    var $this = $(this),
    url = $(this).attr('href');

    if( data == 'tmp' )
    {
        data = 'id=' + $this.data('id');
    }
    else if ( data == true )
    {
        data = forma.serialize();
    }

    $.confirm({
        'title'     : 'Image Delete',
        'message'   : 'Do you want to delete this image?',
        'buttons'   : {
            'Yes'   : {
                'class' : 'blue',
                'action': function(){
                    $.post(url, data,  function(){
                        $this.parent().slideUp('slow');
                    });
                }
            },
            'No'    : {
                'class' : 'gray',
                'action': function(){}
            }
        }
    });
    return false;
    });
};

関数の呼び出し (コードの HTML 部分の後):

<script>
    var link = $('a[role=delete]');
    delete_image(link);
</script>
4

1 に答える 1