调用jquery方法无法找到插件

时间:2012-01-19 07:30:56

标签: javascript jquery plugins jquery-plugins

我在html文件中有这个代码:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="http://www.anotherdomain.com/javascript.js" type="text/javascript"></script>
<script type="text/javascript">
  $.keyCode({code: "google"});
</script>

http://www.anotherdomain.com/javascript.js中定义了此函数:

$(document).ready(function(){
    jQuery.keyCode = function(params){
        params = $.extend( {code: "grid"}, params); 
        var key_code = params.code;
        $("html").live("keypress", function(e){
            if (cookieIsSet() == false){
              check_key_pressed(key_code, e);
            } 
        });
    };
});

该应用无法找到$.keyCode方法。

2 个答案:

答案 0 :(得分:2)

jQuery.keyCode的定义仅在文档准备好后才可用。并且$.keyCode({code: "google"});在它之前执行,从而导致未定义的问题。

要修复它,您应该删除$(document).ready包装。

答案 1 :(得分:0)

你有没有试过这样的事情:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="http://www.anotherdomain.com/javascript.js" type="text/javascript"></script>
<script type="text/javascript">
    $(function() {
        $.keyCode({code: "google"});
    });
</script>

或者你甚至可以使用它,甚至可以在以后点火:

$(window).load(function() {...});