我有一个有同步和异步活动的网站,当用户点击按钮时,onclick方法所做的第一件事就是:
$('body').css('cursor','wait');
在方法返回之前我调用
$('body').css('cursor','auto');
光标仅闪烁朝向返回方法的更改。有没有人知道为什么在方法调用时不会立即更改游标?
答案 0 :(得分:1)
以上一定肯定会奏效。 我认为显示游标:等待;不是个好主意。最好是看看你是否展示了一些ajax加载图片。
答案 1 :(得分:0)
如果您在该按钮单击中使用Jquery.ajax,则需要在ajax完成时将光标设置为auto
例如
$(function(){
$('#button ID'.click(function(){
$('body').css('cursor','wait');
$.ajax({
url: "test.html",
complete: function(){
$('body').css('cursor','auto');
}
});
});
});
答案 2 :(得分:0)
我有一个正在进行同步和异步活动的网站
不是真的。如果只有一个同步活动正在进行,则不会触发异步事件,整个浏览器UI将被阻止,并且鼠标指针不会更新。
您必须将控制权返回给浏览器,以允许它在样式更改后更改鼠标指针。您可以尝试在更新setTimeout
样式后将同步代码放在cursor
上,以便在UI挂起同步操作之前更新生效。但真正适当的,用户友好的方法是使一切都异步。