它可以改变鼠标光标的形式进入忙模式(例如:沙漏)在JSF(具体primefaces)处理AJAX按钮时? 我想改变我的光标的形式,而我的号码:数据表上加载数据时,我把它定位到下一个页面。 谢谢。
Answer 1:
您可以通过CSS和jQuery的一点帮助实现这一目标。 使用CSS,你可以创建一个类,其变化对整个文档的光标。 与jQuery,您可以添加/删除CSS类。 在幕后,PrimeFaces用jQuery进行Ajax的魔力,你可以PrimeFaces <4钩上标准的jQuery ajaxStart
和ajaxStop
事件和对PrimeFaces具体PrimeFaces 4+钩pfAjaxSend
和pfAjaxComplete
事件进行加/该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