我们在 sitemesh 装饰器 JSP 的 header 标记中加载 jquery 脚本,如下所示:
<head>
<script src="${prefix}/resources/js/jquery/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="${prefix}/resources/js/jquery/jquery-ui-1.8.20.custom.min.js" type="text/javascript"></script>
</head>
现在我正在创建一个自动完成组合框,例如 @ http://jqueryui.com/resources/demos/autocomplete/combobox.html
单击标签时,我将另一个 jsp 加载到如下对话框中:
$.ajax({
url: <some url>,
success: <create my dialog>
});
对话框中的这个 JSP 也被 sitemesh 修饰,并且在它的标记中具有相同的脚本。对话工作正常,但现在在这个 ajax 调用之后我的 combobox() 停止工作并且在控制台上的错误是:
$().combobox 不是一个函数..
这对我来说是一个紧迫的缺陷。以前有人遇到过这个问题吗?它与 jquery 脚本缓存或加载有关吗?
我们可以在 Firefox 和 IE 9 中重现此问题。