jQuery和grails无法正常工作

时间:2012-04-09 23:39:10

标签: jquery jquery-ui grails

我有一个非常简单的gsp页面,它有一个按钮。我正在尝试使用JQuery(非插件)以不引人注意的方式附加到click事件。然而,grails没有给我任何爱。有

我在main.gsp的最底部(在标记之后。

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js"></script>

我在页面底部有以下代码,其中包含按钮:

<script type="text/javascript">

    //call out to the controller with the id of this listing and
    //get back a json list of the last several bid amounts
    //
    $(document).ready(function(){
        alert("got here");
        bindControls();
        //getLatestBids(${listingInstance.id});
    });

</script>

最后,我在自己的js文件中有这段代码:

bindControls= function (){
    alert("clicked me");
    $('#newBidButton').live("click", function(){
        alert("clicked me!");
    });
}

我可以打开chrome和firebug,看看是否已加载所有js文件。但是,当我点击按钮时没有任何反应。另外,我期待在$(document).ready函数中触发,但它从未发生过。有想法的人吗?

谢谢!


更新

将我的脚本标记更改为:

    <g:javascript>
        $(document).ready(function(){
            bindControls();
            getLatestBids(${listingInstance.id});
        });
    </g:javascript>

并将我的jquery导入移动到master的head标签中。

1 个答案:

答案 0 :(得分:1)

如果您的网页上有任何有冲突的JavaScript库,请尝试将$替换为jQuery。如果那是问题解决者,你可以像这样包装你的jQuery代码:

function($) {
  $(document).ready(function(){
       console.log("got here");
  });
}(jQuery)