我在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
方法。
答案 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() {...});