Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 隐藏p:特定秒后的消息_Jsf 2_Primefaces - Fatal编程技术网

Jsf 2 隐藏p:特定秒后的消息

Jsf 2 隐藏p:特定秒后的消息,jsf-2,primefaces,Jsf 2,Primefaces,如何使用jsf primefaces在指定的一组秒后隐藏消息(对于onedit和oncancel,或者单独隐藏) <p:messages id="messages" showDetail="true" autoUpdate="true" closable="true" /> <p:dataTable id="platform" var="platform" value="#{platformMB.platformList}" editable="true"> &

如何使用jsf primefaces在指定的一组秒后隐藏消息(对于onedit和oncancel,或者单独隐藏)

<p:messages id="messages" showDetail="true" autoUpdate="true" closable="true" />
<p:dataTable id="platform" var="platform" value="#{platformMB.platformList}" editable="true">  
   <p:ajax event="rowEdit" listener="#{platformMB.onEdit}" 
           update=":formConfig:messages"/>
   <p:ajax event="rowEditCancel" listener="#{platformMB.onCancel}" 
           update=":formConfig:messages"/>  
.... 

.... 

您可以通过挂接特殊的
pfAjaxComplete
事件,在PrimeFaces ajax请求完成时调用JS函数

$(document).on("pfAjaxComplete", function() {
    // ...
});
您可以使用JS计划在n毫秒后调用函数

setTimeout(function() {
    // ...
}, 1000);
可以使用jQuery或更好的方法隐藏DOM元素

$(element).slideUp();
你当然不想过早地隐藏它们。让我们假设我们从3秒的最小超时开始,作为人眼的“预热”时间,然后对消息中的每个单词计算200毫秒

现在,让我们把它们放在一起:

$(document).on("pfAjaxComplete", function() {
    var $messages = $(".ui-messages div");

    if ($messages.length) {
        var wordCount = $messages.text().split(/\W/).length;
        var readingTimeMillis = 3000 + (wordCount * 200);

        setTimeout(function() {
            $messages.slideUp();
        }, readingTimeMillis);
    }
});

如果要防止消息显示,请将global=false添加到ajax eventsprevent?不,让它在展示几秒钟后消失如果我太初学请原谅。。但是我把它放在哪里了?Js脚本?在正文中?只要上下文中有可用的
$
,就可以在任何地方使用。通常的方法是将JS代码放入JS文件中,然后将其包含在HTML头中。另见例如。