jQuery:ajax事件

dla*_*t86 6 html css jquery mouseevent

好的,这是我的代码

$("#content_Div").ajaxStart(function () {
    $(this).css('cursor', 'wait')
}).ajaxComplete(function () {
    $(this).css('cursor', 'default')
});
Run Code Online (Sandbox Code Playgroud)

这是一个相当简单的问题:在ajaxStart上,光标立即变为(等待)沙漏但在ajaxComplete上它不会变回defalut,直到你移动鼠标.

大声笑dat是我的问题,但我正在写这个我在ajaxComplete后实现如果你点击它会改回到默认值,所以光标在ajaxStart上立即更改的唯一原因是因为你必须双击content_Div中的元素才能启动请求,因此click事件是wat在ajaxStart事件开始后更改光标.所以我想要的是一种改变光标的方法,而不必移动它或再次点击.

显然我想在请求完成时使用光标通知用户.

提前致谢

托马斯:

function DF() { //Deletes selected File
if (selectedfiles.length == 0) {
    alert("No file slected!");
    return
};
var selectedtxt = (selectedfiles.length == 1) ? "'" + basename(selectedfiles[0]) + "'?" : 'these ' + selectedfiles.length + ' files?';
if (confirm("Are you sure you want to delete " + selectedtxt)) {
    $.each(selectedfiles, function () {
        $.post("server/editfile.php", {
            user: user,
            oper: "del",
            path: "../" + this
        }, function (res) {
            if (res) {
                alert(res);
            }
            else LT(dirHistory[current]);
        });
    })
}
Run Code Online (Sandbox Code Playgroud)

}

dla*_*t86 0

好吧,自从我发布这个问题以来已经过去了大约 5 个小时,但还没有人尝试回答它。所以我只是发布我发现的内容。

这是 Google Chrome 和 Safari 的错误。

在所有其他浏览器中,您可以动态更改鼠标光标,而无需用户单击或移动鼠标。

女巫打败了我想做的事。当请求完成时通知用户,如果用户把手拿开鼠标并等待光标改变,他们将整天整夜等待,或者直到他们试图离开,因为他们告诉我的网页被冻结了。没有修复,因为如果您检查上面的链接,错误仍然未确认。我也没有找到解决办法,所以这就是我所做的

$("#content_Div").ajaxStart(function () {
    if(!$.browser.safari)//ignores ajaxStart if browser is safari or chrome
    $(this).css('cursor', 'wait')
}).ajaxComplete(function () {
    $(this).css('cursor', 'default')
});
Run Code Online (Sandbox Code Playgroud)

  • 这不是大多数网站的常见行为 - 当 AJAX 请求正在处理时,通常会显示一些“正在加载...”图像,而当请求完成时,图像就会消失。顺便说一句:您可以在 http://ajaxload.info/ 免费下载此类图像 (3认同)