我在GSP页面中有脚本块,如下面的代码所示。但脚本块没有响应。我没有在页面的控制台中打印hello,而是获得错误undefined operator $。可能是什么原因?
getSpecificQuestion.gsp
<html>
<head>
<script>
$('.index').click(function() {
console.log("hello")
});
</script>
<title> Test </title>
</head>
<body>
<div id="question">
<%= "question = $question"%>
</div>
<div id="indexButtons">
<g:each in="${(1..<11)}" var="i">
<input type="button" class="index" value="${i}"/>
</g:each>
</div>
</body>
</html>
答案 0 :(得分:0)
显然你的gsp中没有包含任何jquery所以它抱怨丢失的$
确保在脚本块之前在gsp中包含jquery。如果您使用的是资源插件,则可以执行以下操作:
<html>
<head>
<r:require module="jQuery1111"/>
<r:script>
$(function() {
$('.index').click(function() {
console.log("hello")
});
})
</r:script>
<title> Test </title>
</head>
<body>
<div id="question">
<%= "question = $question"%>
</div>
<div id="indexButtons">
<g:each in="${(1..<11)}" var="i">
<input type="button" class="index" value="${i}"/>
</g:each>
</div>
</body>
</html>
使用该标记将在呈现所有DOM元素并准备好由脚本操作之后在页面底部呈现您的javascript。