1

ボタンのある非常にシンプルなgspページがあります。JQuery(プラグインではない)を使用して、目立たないようにクリックイベントにアタッチしようとしています。しかし、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のインポートをマスターのheadタグに移動することでうまくいきました。

4

1 に答える 1

1

ページに競合するJavaScriptライブラリがある場合は、置き換え$てみてください。jQueryそれが問題解決者である場合は、jQueryコードを次のようにラップできます。

function($) {
  $(document).ready(function(){
       console.log("got here");
  });
}(jQuery)
于 2012-04-10T00:50:29.093 に答える