ajax调用时更改鼠标指针

新手上路,请多包涵

我想在运行 AJAX 调用时将鼠标指针更改为“等待”符号,并在完成调用后返回默认指针。我已尝试如下,但我的问题是它只能在 Firefox 上运行,直到我不单击/按下鼠标按钮。这是我的代码:

 function initializeAjax(url){
    $('html, body').css("cursor", "wait");

    try {
        if (url.substring(0,4) == ".mdf") {
            var database = window.location.pathname.slice(0,window.location.pathname.lastIndexOf('.mdf'));
            var url = database + url;
        }

        initRequest(url);
        returnedValues = null;
        req.onreadystatechange = returnedValues;
        nocache = Math.random();
        req.open("GET", url+"&nocache = "+nocache, false);
        req.send(null);

        $('html, body').css("cursor", "auto");
        return req.responseText;
    }
    catch(err) {
        return "Error 8";
    }
}

任何人都可以帮助如何更改上面的内容以解决问题,以便它也可以在 Firefox 和 IE 中工作。

原文由 Somi Meer 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 258
2 个回答

看一下 jQuery get 方法。它的使用和处理回调都非常简单,所以你可以毫无问题地添加代码来设置鼠标光标……

http://api.jquery.com/jQuery.get/

例子…

 $('html, body').css("cursor", "wait");
$.get("yourajaxcall.url", function(data) {
    $('html, body').css("cursor", "auto");

    //  Success - do something with "data" here

}).error(function() {
    $('html, body').css("cursor", "auto");

    //  There was an error - do something else

});

原文由 Reinstate Monica Cellio 发布,翻译遵循 CC BY-SA 3.0 许可协议

jQuery 1.9 开始,这是可以做到的:

 $(document).ajaxStart(function ()
{
    $('body').addClass('wait');

}).ajaxComplete(function () {

    $('body').removeClass('wait');

});

CSS

 body.wait *, body.wait
{
    cursor: progress !important;
}

原文由 Leniel Maccaferri 发布,翻译遵循 CC BY-SA 3.0 许可协议

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