Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery自动完成和后退按钮行为?_Javascript_Jquery_Ajax_Browser History - Fatal编程技术网

Javascript jQuery自动完成和后退按钮行为?

Javascript jQuery自动完成和后退按钮行为?,javascript,jquery,ajax,browser-history,Javascript,Jquery,Ajax,Browser History,我用的是真棒。然而,在理解浏览器行为和Ajax方面,我还是有点新手,所以我有一个问题 以下是事件的顺序: 用户在文本框中键入“fish” 用户从自动完成选项列表中选择图书标题-养鱼、炸鱼等 页面上加载HTML(作为ajax)-“单击此处进行鱼类养殖” 用户点击链接并加载养鱼页面 用户决定养鱼不适合他们,点击“后退”按钮,返回到一个空白页面 我怎样才能改变这一点,当用户返回主页时,他们会看到养鱼html——他们刚才看到的页面 这是我的自动完成代码: // Autocomplete list

我用的是真棒。然而,在理解浏览器行为和Ajax方面,我还是有点新手,所以我有一个问题

以下是事件的顺序:

  • 用户在文本框中键入“fish”
  • 用户从自动完成选项列表中选择图书标题-养鱼、炸鱼等
  • 页面上加载HTML(作为ajax)-“单击此处进行鱼类养殖”
  • 用户点击链接并加载养鱼页面
  • 用户决定养鱼不适合他们,点击“后退”按钮,返回到一个空白页面 我怎样才能改变这一点,当用户返回主页时,他们会看到养鱼html——他们刚才看到的页面

    这是我的自动完成代码:

        // Autocomplete listener.
        $("#q").catcomplete({
                source: "/book_results",
                select: function(event,ui) {
                    $('#book_results').html(load_img);
                    if (ui.item.category=="Books") { 
                        $.bbq.removeState();
                        var paramsObj = { 'b' : ui.item.id };
                        $.bbq.pushState( paramsObj );
                        get_books(null, null, null, ui.item.id);
                    } else {
                        $.bbq.removeState();
                        var paramsObj = { 's' : ui.item.id };
                        $.bbq.pushState( paramsObj );
                        get_books(null, ui.item.id, null);
                    }
                }
        });
    
    如您所见,当用户从autocomplete中选择内容时,我已经在使用更新URL片段,只是因为这似乎是个好主意

    因此,我在散列中设置了我的
    book\u id
    ,但如何确保在用户单击返回时加载相关的HTML


    谢谢

    当用户做出选择时,将锚附加到URI或会话状态


    为后退和前进按钮创建新事件,并相应地遍历列表。

    当用户做出选择时,将锚添加到URI或会话状态


    为后退和前进按钮创建新事件,并相应地遍历列表。

    “当用户做出选择时…”-根据问题,我已经在使用BBQ插件执行此操作。“制作新活动…”-请你详细解释一下你的意思好吗?我正在解释如何实现BBQ插件。你可能想更彻底地检查一下,我不熟悉,但它看起来是活的,你正在保存状态而不检索它们。“当用户做出选择时…”-我已经在用BBQ插件做这件事了,如问题所述。“制作新活动…”-请你详细解释一下你的意思好吗?我正在解释如何实现BBQ插件。你可能想更彻底地检查,我不熟悉,但它看起来是活的,你正在保存状态,而没有检索它们。