2011-02-07 31 views
5

Tôi muốn hiển thị bằng Richfaces menu ngữ cảnh khi nhấp chuột trái vào văn bản xuất hiện liên kết (văn bản màu xanh lam và gạch dưới và con trỏ trên). Vì vậy, hãy tưởng tượng một liên kết mà khi được nhấp cho thấy một menu ngữ cảnh. Lưu ý rằng tôi không quan tâm nếu văn bản thực sự là một liên kết, tôi chỉ muốn nó là xuất hiện làm liên kết. Vì vậy, ngay cả văn bản bình thường sẽ là tốt, tôi sẽ làm cho nó xuất hiện như một liên kết bằng cách sử dụng CSS.Richfaces: Văn bản giống như liên kết với ContextMenu

tôi có các điều kiện sau:

  • Các menu ngữ cảnh phải xuất hiện về phía khách hàng, mà không cần thực hiện một yêu cầu.
  • Trình đơn ngữ cảnh phải xuất hiện bằng cách sử dụng rich:componentControl (các "liên kết" này) nằm bên trong một dữ liệu có thể đặt, do đó, cùng một rich:contextMenu phải được sử dụng lại.

tôi vẫn chưa tìm ra giải pháp thỏa đáng, vì mỗi cách tiếp cận tôi đã cố gắng đã gây ra một vấn đề đối với tôi:

  1. Nếu tôi sử dụng h:outputText (đó sẽ là lý tưởng), tôi không thể đính kèm vào nó a rich:componentControl (Tôi đoán vì nó không thể kích hoạt sự kiện onclick).
  2. Nếu tôi sử dụng a4j:commandLink, mặc dù tôi có thể đính kèm rich:componentControl, nó sẽ tạo yêu cầu máy chủ. Tôi đã cố gắng thêm onclick="return false;" để ngăn yêu cầu, nhưng Richfaces thêm JS được tạo bởi rich:componentControlsau bất kỳ nội dung nào bên trong onclick, điều này khiến mã này không được truy cập và dĩ nhiên menu ngữ cảnh không xuất hiện ở tất cả .

Có cách nào để thực hiện việc này không? Hãy nhớ, không yêu cầu!

Trả lời

2

Bạn có thể thử

<rich:componentControl disableDefault="true" ...> 

Theo tài liệu với componentControl param này nên thêm return false; riêng của mình.

Nhưng nhận thức được lỗi tương ứng: RF-5607

Trong tài liệu hướng dẫn trường hợp nằm bạn có thể sử dụng neo html. This answer cho thấy làm thế nào để tạo một liên kết với componentControl và không refresh trang:

<h:outputLink value="#" id="link" onclick="return false;"> 
    <h:outputText value="Link text"/> 
    <rich:componentControl attachTo="link" for="panel" operation="show" event="onclick"/> 
</h:outputLink> 

Các onclick="return false;" ngăn neo từ di chuyển trang để liên kết nhấp vào.

+0

Cảm ơn câu trả lời. Tôi đặt disableDefault = "true", nhưng tiếc là yêu cầu POST diễn ra như trước đây. (+1) –

+0

Câu trả lời cập nhật phù hợp với tôi. –

Các vấn đề liên quan