【问题标题】:Check with javascript, if jsf element has been rendered使用 javascript 检查是否已呈现 jsf 元素
【发布时间】:2014-03-07 11:10:02
【问题描述】:

我有一个 div,它的内容在运行时呈现(rendered 属性设置为 false),点击按钮后。

我想要做的是使用 javascript(带有 jquery)来操作 div 的内容。我目前正在处理超时,但由于加载时间波动,这是不合适的。

有没有办法让javascript通知并在渲染设置为true后立即执行函数?

编辑: 我觉得我表达得不熟练:

具体我在做什么:我有一个按钮,它执行一个 sql 查询并将结果显示在一个由 div 包围的表中。 div 即表格设置为 render="false" 并通过单击按钮重新呈现。

我试图调用的 javascript 函数用于设置表格行的样式。所以js函数需要对div进行检查,这在div渲染之前是不可能的。

【问题讨论】:

  • @Pilot 对不起 Pilot,这不是我要找的,因为我需要 javascript 来检查正在呈现的元素,而不是 jsf
  • 你为什么不使用那个按钮上的oncomplete 来调用那个javascript样式函数...如果它当然是primefaces!
  • @HatemAlimam:那个伙伴,工作得很好。非常感谢你!将此作为答案提交,我会批准!

标签: javascript jsf


【解决方案1】:

在该按钮上使用oncomplete 来调用该javascript 样式函数。

<p:commandLink oncomplete="jsFunction()" >

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    你可以绑定DOMNodeInserted事件,as described here. 这使您可以执行以下操作:

    $(document).bind('DOMNodeInserted', function(event) {
        var element = $(event.target);
        if (element.hasClass("myDiv")) {
            $(element).text("changed Content");
        }
    });
    

    【讨论】:

      猜你喜欢
      • 2017-12-30
      • 1970-01-01
      • 2014-03-29
      • 1970-01-01
      • 1970-01-01
      • 2015-03-05
      • 2018-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多