Я много искал, но не могу найти ответ, моя проблема в том, что у меня есть данные с контекстным меню.На рабочем столе у меня нет проблем, он появляется при щелчке правой кнопкой мыши, но на мобильных устройствах я не могу заставить его работать: когда я нажимаю и удерживаю строку, он выбирает ближайший текст и отображает контекстное меню браузера.
Я много чего пробовал:
- Добавление стиля класса css:
.noselect {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Safari */
-khtml-user-select: none; /* Konqueror HTML */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently
supported by Chrome and Opera */
}
и реализация как:
<p:dataTable id="lista" widgetVar="lista" var="unElem" ...>
<p:column headerText="Column 1" styleClass="noselect">
<h:outputText value="#{unElem.codigo}"/>
</p:column>
</p:dataTable>
<p:contextMenu for="lista" id="context" model="#{view.modeloMenuContextual}"/>
Поиск в Интернете атрибута "event" в p: contextMenu и обнаружение, что событием по умолчанию является "contextmenu", поэтому, если вам нужны другие события, вы можете добавить их через пробел.Другое событие, которое я обнаружил, было «щелкнуть», но оно мне не нужно
<p:contextMenu model="#{view.modeloMenuContextual}" event="click contextmenu"/>
Поиск в официальной документации (web и pdf) (https://www.primefaces.org/showcase/)
Поиск в коде Primefaces в github (https://github.com/primefaces/primefaces)
Я работаю с PrimeFaces 6.2
Надеюсь, что кто-нибудь может мне помочь. Спасибо!