我正在尝试在jsf项目中使用jquery。我想打开jquery dialog。对话框打开,可以执行我们想要的操作。但是当它关闭时,richfaces标签不起作用。当我删除
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js"></script>
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery-ui.js"> </script>
declerations 他们又在工作了。
这是firebug中的错误输出
Error: element.dispatchEvent is not a function
Source File: http://localhost:8080/KOBAR/a4j/g/3_3_3.Finalorg.ajax4jsf.javascript.PrototypeScript
Line: 265
这是我的.xhtml
页面。
<ui:define name="head">
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.js"></script>
<script type="text/javascript"
src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery-ui.js"></script>
<f:verbatim>
<script type="text/javascript">
function openStakeHolderPopUp(){
//$('#stakeHolderPopUp').dialog('open');
var popUpWindow = document.getElementById("stakeHolderPopUp");
popUpWindow.setAttribute("style", "visibility:visible");
$(popUpWindow).dialog({
modal: true,
height: 100,
width: 200,
closeOnEscape: true,
close: function(ev, ui) {
$(this).dialog("destroy");
}
});
};
</script>
</f:verbatim>
</ui:define>
<ui:define name="body">
<RF:tabPanel>
<RF:tab label="Profil" id="tabProfil">
<h:inputText id="value" readonly="true" onclick="openStakeHolderPopUp()"/>
<h:inputText id="name" required="true" value="#{company.name}"/>
</RF:tab>
<RF:tab label="Detay" id="tabDetail">
</RF:tab>
<RF:panel id="stakeHolderPopUp">
<ui:define name="label">Paydaş Adı</ui:define>
<h:inputText id="value" required="true"/>
</RF:panel>
</ui:define>
有什么想法吗?感谢。
答案 0 :(得分:1)
RichFaces 3.3.3附带了自己的jQuery版本,我相信1.3.x.它可能与您手动包含的jQuery 1.6.2发生冲突。您可以尝试以下方法:
不要包含jQuery 1.6.2,只使用RichFaces提供的jQuery库。如有必要,请将jQuery UI更改为1.3.x兼容版本。
或只使用<rich:modalPanel>
代替jQuery UI对话框。