0

jQueryUI Auto-complete在我的网站上使用它,window.history.pushState它会在不刷新页面的情况下更改浏览器 URL。它完美地工作ChromeMozilla但不幸的是它不能按照我想要的方式工作Internet Explorer 9。情况就是这样,我可以通过页面上的标签jQueryUI Auto-complete搜索地区、县和邮编。<input />然后,如果我单击自动完成的任何建议结果,则使用window.history.pushState浏览器 URL 更改为 from www.example.com/sitestowww.example.com/sites/selected_region而不刷新页面。现在正如我所说的那样,它可以运行ChromeMozilla但它会失败IE9,因为当我单击任何建议的结果时会发生什么jQueryUI Auto-complete,它既不会更改浏览器 URL,也不会关闭建议列表。它肯定不支持window.histoty.pushState。所以我搜索并找到了一个可以使用的解决方案history.js。我只是按照说明将其上传到我的服务器上并包含history.js文件,但事实证明它与我.js正在使用的其他文件冲突。我将如何解决这个问题?提前致谢。

PS:这是我的使用方法window.history.pushState

$( "#find" ).autocomplete({
minLength: 1,
source: function(request, response) {
            var results = $.ui.autocomplete.filter(locations, request.term);
            response(results.slice(0, 10));
        },
focus: function( event, ui ) {
    $( "#find" ).val( ui.item.value );
    return false;
},
appendTo: "#results",
open: function(){
    var position = $("#results").position(),
                    left = position.left, top = position.top;

            $("#results > ul").css({left: (left + 15) + "px",
                                                    top: (top + 30) + "px", width: (206) + "px" });
},

select: function( event, ui ) {
    $( "#find" ).val( ui.item.value );
    $(":header.title").html(ui.item.value);

    var base = '/stats/';
    var url = base + ui.item.href;
    var label_name = ui.item.value;
    document.title = "Statistics for " + label_name + "| ASI";
    window.history.pushState({"url":url}, document.title, url);
    return false;
}
});

请随时以任何可能的方式纠正我。干杯。

4

0 回答 0