包含时javascript将无效

时间:2014-09-12 09:33:04

标签: javascript jquery symfony

我对javascript文件有一些奇怪的问题。当我在我的html文件中使用它时,只需在脚本标签中编写它,它就可以正常工作。但是当我把它包括在内时

<script type="text/javascript" src="{{ asset('bundles/[my bundle]/js/login.js') }}"></script>,

它不再起作用了。知道为什么吗?

有代码,即使我不认为它来自此。

$(document).ready(function(){
    var container = $(".login");

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

    $( ".login_background" ).fadeToggle( "700", "linear" );
    $( ".login" ).fadeToggle( "700", "linear" );
    $.ajax({
        url: '{{ path('fos_user_security_login') }}',
        success: function(response){
            $('.login_header_full').html(response)
            }
        });
    });

    $(".login_close").click(function(){
        container.hide();
        $(".login_background").hide();
    });

    $(document).mouseup(function (e)
    {
        var container = $(".login");

    if (!container.is(e.target)
        && container.has(e.target).length === 0)
    {
    $( ".login" ).fadeToggle( "700", "linear" );
        $( ".login_background" ).fadeToggle( "700", "linear" );
    }
    });

    $(".login_background").hide();
});

1 个答案:

答案 0 :(得分:0)

在我看来,您的javascript文件的文件位置不是您的script标记所指向的位置。如果您没有使用Assetic或类似的东西,那么您的js文件必须位于web目录中。因此,在您的情况下,将您的文件放在

中的目录中
{SymfonyRoot}/web/.../login.js

例如,您可以创建一个web/js目录,然后您的代码将是这样的:

<script type="text/javascript" src="{{ asset('js/login.js') }}"></script>

或者,如果您想保留在问题中发布的路径,那么您的login.js文件必须位于

{SymfonyRoot}/web/bundles/[myBundle]/js/login.js

这将允许您使用此脚本位置:

<script type="text/javascript" src="{{ asset('bundles/[my bundle]/js/login.js') }}"></script>

请记住,您的web目录是您的DocumentRoot,因此如果您希望能够在您的网站上访问它们,则所有公共文件都必须位于此目录中。