是否有方法通過右擊圖像在JSF2/Primefaces 5.x中調用支持bean ajax方法? Primefaces中有一個contextMenu組件,但它帶來了一個我不想要的菜單。Primefaces右鍵單擊 - 支持bean方法調用
0
A
回答
4
使用this jQuery代碼和PrimeFaces <p:remoteCommand>
你可以做到這一點,下面是簡單的代碼:
<h:form>
<p:graphicImage id="myImage" onmousedown="rmc(event)" library="img" name="myImage.png" class="RMC"/>
<p:remoteCommand name="rightMouseClick" action="#{backingBean.method}" update="myImage"/>
</h:form>
<script>
$(document).on("mousedown", ".RMC", function() {
$(".RMC").each(function() {
this.oncontextmenu = function() {
return false;
};
})
$(".RMC").mousedown(function (e) {
if (e.button == 2) {
rightMouseClick();
return false;
}
return true;
});
});
function rmc(e) {
this.oncontextmenu = function() {
return false;
};
if (e.button == 2) {
rightMouseClick();
return false;
}
return true;
}
</script>
將會在圖像上禁用鼠標右鍵菜單與RMC
類,然後從後臺bean調用方法。如果您不想禁用該菜單,請刪除.each()
部分。
編輯: 更新DOM元素後,它會丟失在$(document).ready()
期間給出的事件,因此您必須直接在組件中添加onmousedown
事件。
EDIT2: 更改$(document).ready()
,即使在更新後也適用於具有RMC類的元素。
0
非常簡單...打破你的問題。首先考慮html。你應該簡單地通過jquery添加一個右鍵點擊並使用p:remoteCommand
來呼叫支持者
相關問題
- 1. 如何在支持Bean中使用Primefaces回調?
- 2. primefaces部件不更新支持bean
- 3. 從支持bean更新PrimeFaces數據表
- 4. java.awt.HeadlessException異常在支持bean操作方法調用JOptionPane.showMessageDialog當
- 5. 如何在JSF 1.2中調用多個支持bean方法?
- 6. 用PrimeFaces右鍵單擊更新選擇DataTable
- 7. 管理bean字段爲空當調用Bean方法primefaces JSF
- 8. iMacros是否支持鼠標右鍵單擊?
- 9. 右鍵單擊
- 10. 鼠標右鍵單擊事件右鍵單擊事件調用取消過程
- 11. 調用從鍵盤右鍵單擊鼠標右箭頭的keydown
- 12. 在上下文菜單中右鍵單擊後獲取值PrimeFaces
- 13. 調整WebStorm右鍵單擊新菜單
- 14. Fabric.js右鍵單擊
- 15. Mapbox右鍵單擊
- 16. NSStatusItem右鍵單擊菜單
- 17. 右鍵單擊MenuIcon
- 18. 右鍵單擊Swing
- 19. 禁用Featherlight.js右鍵單擊
- 20. 禁用右鍵單擊wpf
- 21. Fancybox:禁用右鍵單擊
- 22. NivoSlider - 禁用右鍵單擊
- 23. 右鍵單擊JButton
- 24. 未調用Bean方法
- 25. NSEvent單擊右鍵菜單
- 26. Primefaces p:overlayPanel顯示右鍵單擊,阻止瀏覽器contextMenu?
- 27. 如何右鍵單擊javascript
- 28. winforms下的右鍵單擊菜單
- 29. VueJS中的右鍵單擊和右鍵單擊事件
- 30. Primefaces dataTable多次調用方法時單擊commandButton。爲什麼?
謝謝。我似乎無法找到實際創造這樣的答案的動機。總是想知道爲什麼人們不能自己想象這樣的事情。 – Kukeltje
謝謝@Geinmachi。這隻適用於動作方法(與actionListener相比)嗎?我嘗試了actionListener方法(它返回void)。然而,它只有第一次,在方法返回後,右鍵單擊函數/方法沒有在javascript或後臺bean(我把console.log語句放在javascript代碼中)中調用。 – user972391
爲什麼你想要actionListener? – Geinmachi