鼠标反复放在标签之上显示tag-pop但只ajax一次的问题

点在segmentfault 内的标签上时会弹出框详细显示标签内容,但我在控制台发现反复滑动多次,ajax只有第一次发起了请求,请问这用到了什么技术

阅读 4k
2 个回答

第一次请求之后就把内容填写到DOM里面了,然后取消掉hover事件的AJAX监听部分(或者在DOM上用属性标记它已经填充了内容之类的)这样就可以吧。

我的猜测啊,

var api = {};
$ajaxForm.on('submit',
function(event) {
    event.preventDefault();
    $response.empty();
    var search = $('#title').val();
    if (search == '') {
        return;
    }
    $response.addClass('loading');
    if (!api[search]) {
        api[search] = $.ajax({
            url: 'http://book.learningjquery.com/api/',
            dataType: 'jsonp',
            data: {
                title: search
            },
            timeout: 15000
        });
    }
    api[search].done(response).fail(function() {
        $response.html(failed);
    }).always(function() {
        $response.removeClass('loading');
    });
});

(代码来自于jQuery基础教程 13.3.2 缓存响应)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题