0

我要完成的工作:

使用的 jquery 遗留代码版本是 1.2.6。我想通过 twitter 使用 Typeahead,它需要 1.9+。所以 noConflict 将是首选。我导入 1.2.6(它支持 $.browser.msie),获取浏览器类型。导入 1.9 和 twitter Typeahead。我做 noConflict 返回到 1.2.6 并将 noConflict 分配给某个变量。

代码(在jsp页面中):

    <ps:script src="/jquery/jquery-1.2.6.min.js" />
    <ps:script src="/jquery/jquery.hoverIntent.minified.js" />
    <ps:script src="/mustache/mustache.js" />

    <script src="/autosuggest/jquery-1.9.1.min.js" type="text/javascript"></script>
    <script src="/autosuggest/bootstrap-2.3.1.min.js" type="text/javascript"></script>
     <script type="text/javascript">
     var jq191 = $.noConflict(true);
     // jquery 1.9 does not support $.browser.msie, so do ie check first then pass it to autosuggest
     var ie = false;
            if ($.browser.msie) { ie = true; }

            jq191(function() {
                var url = "<%= System.getProperty("url") %>";
                var autoSuggest = new AutoSuggest(url, [
                    {inputId: "input1", buttonId: "input1button", destination: "dest1"},
                    {inputId: "input2", buttonId: "input2button", destination: "dest2"}
                ], ie);
                autoSuggest.config();
            });
        </script>

config() 是为 Typeahead 等配置内容的方法。

到目前为止,在 firefox 和 chrome 上,一切都很好。在 IE 上它随机抛出这个“SCRIPT 428”错误(字面意思是随机的,我只在刷新/打开页面 10-20 次后看到这个错误。

我对 noConflict() 的使用是否正确?我做错什么了吗?

4

0 回答 0