我在父页面中定义了一个PrimeFaces
p:dialog
的弹出窗口。它是使用PF('myDialog').show()
打开的。
我还有一个简单的JS函数,当span
内有textarea
个事件时,它会更新弹出窗口中的onkeyup
:
<p:inputTextarea id="comment" ... onkeyup="textCounter(this,'charactersRemaining',1000);"/>
刷新每个文本区域更改的charactersRemaining
范围,这意味着在您点击UI组件中的某个键之前,没有显示剩余计数。但是,我想在第一次加载弹出窗口时触发textCounter
JS函数,以便它始终存在。我想要一种方法来做这个,因为我对JS来说比较新。
简而言之,我怎么说,在textCounter('commentField','charactersRemaining',1000);
开启时运行我myDialog
?
答案 0 :(得分:1)
您可以调用textCounter(&#39; commentField&#39;,&#39; charactersRemaining&#39;,1000);在PF之后(&#39; myDialog&#39;)。show();但是如果你想要,你可以触发一个事件并像这样消耗它:
HTML
<div id='myDialog'>This is my dialog</div>
JAVASCRIPT
$( document ).ready(function() {
(function ($) {
$.each(['show', 'hide'], function (i, ev) {
var el = $.fn[ev];
$.fn[ev] = function () {
this.trigger(ev);
return el.apply(this, arguments);
};
});
})(jQuery);
$('#myDialog').on('show', function() {
alert('Show event fired');
textCounter('commentField','charactersRemaining',1000);
});
$('#myDialog').on('hide', function() {
//Do something when myDialog is hidden
});
$('#myDialog').show();
});