改变鼠标光标移动到繁忙模式时PrimeFaces AJAX请求正在进行(Change mouse c

2019-08-18 12:12发布

它可以改变鼠标光标的形式进入忙模式(例如:沙漏)在JSF(具体primefaces)处理AJAX按钮时? 我想改变我的光标的形式,而我的号码:数据表上加载数据时,我把它定位到下一个页面。 谢谢。

Answer 1:

您可以通过CSS和jQuery的一点帮助实现这一目标。 使用CSS,你可以创建一个类,其变化对整个文档的光标。 与jQuery,您可以添加/删除CSS类。 在幕后,PrimeFaces用jQuery进行Ajax的魔力,你可以PrimeFaces <4钩上标准的jQuery ajaxStartajaxStop事件和对PrimeFaces具体PrimeFaces 4+钩pfAjaxSendpfAjaxComplete事件进行加/该CSS类的删除。

CSS:

html.progress, html.progress * {
    cursor: progress !important;
}

(对!important覆盖的任何样式的设置style属性和的情况下更强的CSS选择器是)

jQuery和PrimeFaces:

$(document).on("ajaxStart pfAjaxSend", function() {
    $("html").addClass("progress");
}).on("ajaxStop pfAjaxComplete", function() {
    $("html").removeClass("progress");
});

对于情况下,你还使用标准的JSF <f:ajax>其他地方,并希望有相同的进度指示器,这里是你如何能做到这一点:

jsf.ajax.addOnEvent(function(data) {
    $("html").toggleClass("progress", data.status == "begin");
});

这也被OmniFaces展示应用程序 。 你可以看到它等等,当你在运行投票此页面 。



Answer 2:

本身Primefaces看起来并不像它这样做的。 它有一些组件,可让您在其工作(AjaxStatus,BlockUI)可视化,但它看起来并不像它与光标东西。

你不得不直接使用Javascript功能来做到这一点。 这看起来像一个不错的选择。

改变光标繁忙而页面加载



文章来源: Change mouse cursor to busy mode when PrimeFaces ajax request is in progress