【发布时间】:2015-09-20 21:19:24
【问题描述】:
我正在使用 jQuery 为 HTML 中的每个 input 注册一个 change 事件侦听器,如下所示:
<h:head>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){
$(':input').each(function() {
$(this).change(function() {
console.log('From docReady: ' + this.id);
});
});
});
function changeHandler() {
console.log("from changeHandler");
}
//]]>
</script>
</h:head>
<h:body>
<h:form id="topForm">
<p:commandButton id="myButton" value="update"
action="#{testBean.submit}"
partialSubmit="true" process=":myForm:panel"
update=":myForm:panel" />
</h:form>
<h:form id="myForm">
<p:panel id="panel">
<p:inputTextarea id="myTextarea"
value="#{testBean.val}"
onchange="changeHandler();"/>
</p:panel>
</h:form>
</h:body>
如果用户更改myTextarea 的内容,则会触发两个change 事件。然而,在按下更新按钮后,部分更新了myTextarea,之后只有 changeHandler 被触发。 $(document).ready() 中绑定的事件不再触发。
这是否与 PrimeFaces 相关和/或预期行为?如果是,那么如何确保在不重新运行文档就绪脚本的情况下触发第二个事件。
【问题讨论】:
标签: javascript jquery ajax jsf-2 primefaces