切换 javascript 函数看起来很奇怪。它仅支持 3 个效果值。它还需要两个第一个参数 - 要显示的元素和要隐藏的元素。不知道如何使用它。
PrimeFaces.widget.Inplace.prototype.toggle = function(elToShow, elToHide, callback) {
var _self = this;
if(this.cfg.effect == 'fade') {
elToHide.fadeOut(this.cfg.effectSpeed,
function(){
elToShow.fadeIn(_self.cfg.effectSpeed);
if(callback)
callback.call(_self);
});
}
else if(this.cfg.effect == 'slide') {
elToHide.slideUp(this.cfg.effectSpeed,
function(){
elToShow.slideDown(_self.cfg.effectSpeed);
});
}
else if(this.cfg.effect == 'none') {
elToHide.hide();
elToShow.show();
}
}
我可以推荐至少一种解决方法(相当骇人听闻,因为它使用标签生成的标记的内部 id,但对我有用(PrimeFaces 3.5):
<p:inplace event="none" id="xId">
<h:inputText value="test"/>
</p:inplace>
<p:commandButton value="Toggle"
oncomplete="$('#xId_content,#xId_display').toggle()" />