更新p:graphicImage后,JS / jQuery on function无法正常工作

时间:2014-04-09 08:43:01

标签: javascript jquery ajax jsf primefaces

我有一张图片:

<p:graphicImage id="map" value="#{controller.image}" cache="false"/>

我通过

更新
<p:commandButton action="#{controller.redrawMap}" update=":myForm:map"/>

更新后,map没有回复

$("#myForm\\:map").on("mousedown", function(event) {
    console.log("Test");
});

为什么会这样?

1 个答案:

答案 0 :(得分:1)

当您在组件上绑定事件并且此组件被更新时,它会丢失该事件,因此您必须重新绑定该事件。

这种情况的最佳做法是将事件绑定在主容器上,假设它不会被更新,例如表格:

$('#myForm').on('mousedown','#myForm\\:map',function(){
    console.log("Test");
});

这样,即使您更新地图,绑定也会保留。

希望这有帮助。