JavaScriptでPrimeFacesp:inplaceコンポーネントの状態にアクセスするにはどうすればよいですか?
必要なときに関数を呼び出すために、コンポーネントがインラインtoggle()
状態にあるかどうかを確認する必要があります... AFAIKは状態を変更toggle()
することしかできず、状態を目的の値に設定することはできませんか?
JavaScriptでPrimeFacesp:inplaceコンポーネントの状態にアクセスするにはどうすればよいですか?
必要なときに関数を呼び出すために、コンポーネントがインラインtoggle()
状態にあるかどうかを確認する必要があります... AFAIKは状態を変更toggle()
することしかできず、状態を目的の値に設定することはできませんか?
あなたがこのようなものを持っているとしましょうL
<p:inplace id="basic" widgetVar="myWidget">
<p:inputText value="Edit Me" />
</p:inplace>
次のように、および jQueryを使用してインプレースが開かれたかどうかを確認できます。widgetVar
jQuery(myWidget.content).is(":visible")
:visible
または、セレクターと inplace の id で確認できます。
_display
inplace 要素 ID に追加して、エディターがまだ開いていないかどうかを確認します
_content
inplace 要素 ID に追加して、エディターが既に開いているかどうかを確認します
jQuery("#basic_display").is(":visible")
jQuery("#basic_content").is(":visible")
ショーケースPrimefaces Inplaceのブラウザー コンソールで確認できます。
ui-inplace-display要素とui-inplace-content要素の CSS表示値をチェックして、これを達成しました。
$('.ui-inplace-display').filter(function(){
return $(this).css('display') == 'inline';
}).toggle();
$('.ui-inplace-content').filter(function(){
return $(this).css('display') == 'none';
}).toggle();
ただし、私にとっては解決策よりもハックであるため、JavaScript オブジェクトの専用属性の状態、または少なくとも専用の CSS クラスなど、より洗練されたものを期待しています。