javascript - JS 仅在 js 功能完成时更改光标

标签 javascript jquery html ajax

我有以下代码

<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
    </head>
    <body style="background-color:yellow;width:100%;height:100%;">
        <a href="javascript:test()">test</a>
        <script>
            function test() {
                $("body").css("cursor","wait"); //cursor must be changed here

               $.ajax(...);
            }           
        </script>
    </body>
</html>

此代码的问题在于,仅当函数 test() 完成时,光标才会在浏览器中从 default 更改为 wait,但我需要它改变某些功能点。我在 Ubuntu 14 的 FF 58 和 Windows 7 的 Opera 中尝试过。我已经阅读了很多关于它的帖子并尝试了这个解决方案

$(document).ajaxStart(function() {
    $(document.body).css({'cursor' : 'wait'});
}).ajaxStop(function() {
    //$(document.body).css({'cursor' : 'default'});
});

但没有成功。如何解决?有什么想法吗?

最佳答案

我找到了答案。我在我的 ajax async:false -

$.ajax({ ...
     async: false,
      ...     
});

当我改成

$.ajax({ ...
     async: true,
      ...     
});

一切开始按预期工作。

关于javascript - JS 仅在 js 功能完成时更改光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49705940/

相关文章:

javascript - 如何从异步调用返回响应?

c# - 为什么 jquery 日期选择器会改变几个月的日期?

javascript - 来自 rgb 值的 HTML Canvas 图像

javascript - 是否有用于在浏览器中呈现的 Scheme 语言的语法高亮插件?

javascript - 如何将图像放入我的滚动文本js中

javascript - $.parseJSON 用双引号中断

html - 绝对定位 div 中的神秘偏移

python - 使用参数 'results' ', '(' { )' and keyword arguments ' polls/(?P<Album_id>[0-9]+)/results/$'] 反转 }' not found. 1 pattern(s) tried: ['

javascript - 输出文件中的换行符

javascript - 按 ENTER/RETURN 键刷新页面