ReferenceError:未定义prettyPrint

时间:2014-04-08 20:39:01

标签: javascript jquery twitter-bootstrap

我正在通过http://twitterbootstrap.org/bootstrap-form-validation/。除了在表单中各个字段末尾添加图像外,我的项目工作正常。

我的表格如下:

form id="registration-form" class="form-horizontal">
 <h2>Sample Registration form <small>(Fill up the forms to get register)</small></h2>
 <!-- Text input-->
<div class="form-control-group">
  <label class="control-label" for="FirstName">First Name</label>
  <div class="controls">
    <input id="FirstName" name="FirstName" type="text" placeholder="Bob" class="input-xlarge" required="">

  </div>
</div>


<!-- <div class="form-form-control-group">
<label class="control-label" for="name">Your Name</label>
<div class="controls"><input class="input-xlarge" id="name" type="text" name="name" /></div>
</div>
<pre>-->    

<!-- Text input-->
<div class="form-control-group">
  <label class="control-label" for="LastName">Last Name</label>
  <div class="controls">
    <input id="LastName" name="LastName" type="text" placeholder="Smith" class="input-xlarge" required="">

  </div>
</div>    


<div class="form-actions">
            <button type="submit" class="btn btn-success btn-large">Register</button>
            <button type="reset" class="btn">Cancel</button></div>
</form>    


<script src="assets/js/jquery-1.7.1.min.js"></script>
<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js"></script>
<script src="assets/js/jquery.validate.min.js"></script>
<script src="assets/js/script.js"></script> 
<script>
addEventListener('load', function (event) { prettyPrint() }, false);                $(document).ready(function(){
            $('pre').addClass('prettyprint linenums');
                  });
            </script> 

当页面加载到firebug中时,我看到:

ReferenceError: prettyPrint is not defined

指的是:

addEventListener('load', prettyPrint, false); 

没有其他js错误。

PS我已添加:

<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js"></script>

如上所述,但我仍然得到错误。我做错了什么。

1 个答案:

答案 0 :(得分:1)

来自:http://google-code-prettify.googlecode.com/svn/trunk/README.html

  

如果您通过事件处理程序调用prettyPrint,请将其包装在函数中。而不是做

     

addEventListener('load', prettyPrint, false);

     

将其包装在像

这样的闭包中      

addEventListener('load', function (event) { prettyPrint() }, false);

     

这样浏览器就不会将事件对象传递给prettyPrint,这会让它感到困惑。

话虽如此,请确保

<script src="https://google-code-prettify.googlecode.com/svn/loader/run_prettify.js"></script>

在脚本出现之前加载,即使它不重要。