2012-04-09 142 views
1

我有一個非常簡單的gsp頁面,它有一個按鈕。我試圖用JQuery(不是插件)悄悄地附加到click事件上。但是,Grails並沒有給我任何愛。有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和螢火蟲,看到塔所有的js文件都被加載了。但是,當我點擊按鈕時,什麼也沒有發生。此外,我期待在$(document).ready函數中啓動,但它從來沒有。任何人有任何想法?

謝謝!


更新:

改變我的腳本標籤:

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

和移動我的jQuery進口到主人的頭標記並獲得成功。

+0

任何錯誤?你是否在Firebug等人中使用你的代碼?你的代碼之前加載了jquery嗎?你有選擇器語法正確嗎?你的腳本是否包含在腳本標記之前(即在html文檔的標題中)? – 2012-04-09 23:42:47

+0

沒有錯誤。我什麼也沒得到。沒有停止。你的意思是在我的代碼之前加載的JQuery?我不太瞭解Grails在做什麼,但是我的腳本包含在main.gsp的底部(正如我在問題中提到的)。我的腳本位於頁面的底部。他們需要在頂部? – Buzzer 2012-04-10 00:12:41

+0

您使用哪個版本的Grails?如果它的Grails 2.0然後Jquery已經存在... – 2012-04-10 00:18:57

回答

1

如果您的頁面上有任何衝突的JavaScript庫,請嘗試用jQuery替換$。如果這是問題解決者,你可以這樣包裝你的jQuery代碼:

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

更好地使用jquery.noConflict恕我直言,但是 – 2012-04-10 16:20:54