#jquery #jquery-ui #autocomplete #jquery-ui-autocomplete
#jquery #jquery-пользовательский интерфейс #автозаполнение #jquery-пользовательский интерфейс-автозаполнение
Вопрос:
У меня есть виджет автозаполнения jqueryui, в котором списки в меню предложений являются интерактивными ссылками.
Теперь щелчок левой кнопкой мыши по ссылкам работает нормально, но браузер (я использую Chrome, но эта проблема, вероятно, не зависит от браузера) не предоставляет возможность щелкнуть правой кнопкой мыши ссылку, чтобы открыть новое окно.
Мой вопрос в том, как бы мне включить ссылки в меню предложений, которые можно щелкнуть правой кнопкой мыши?
В коде автозаполнения jqueryui в методе _renderItem() он имеет
_renderItem = function( ul, item ){ ... .append( "<a>" item.label "</a>"
Может быть, причина, по которой щелчок правой кнопкой мыши отключен, заключается в том, что у тега <a> нет атрибута href? На самом деле у меня нет возможности добавить атрибут href с фактическим URL-адресом, поскольку у меня есть обработчик события выбора, который динамически генерирует URL-адрес на основе другой логики. Кроме того, когда я попытался добавить атрибут href к тегу <a>, jqueryui, похоже, автоматически удаляет его при заполнении меню предложений.
Комментарии:
1. Щелчок правой кнопкой мыши и выбор «открыть новое окно» предоставляется браузером изначально (и, похоже, ваша догадка была правильной;
href
атрибут заставляет его отображаться в некоторых браузерах). Ваш обработчик выбора не будет запущен, если вам удастся отобразить это меню. Вы заинтересованы в использовании собственного контекстного меню?2. Спасибо за комментарий. Теперь я могу определить href =, поэтому щелчок правой кнопкой мыши теперь работает. Однако я сталкиваюсь с новой проблемой: если открыто меню предложений, и я щелкаю правой кнопкой мыши по одному из пунктов, чтобы открыть новое окно, меню предложений в текущем окне больше не может быть открыто щелчком в другом месте экрана. Есть какие-нибудь идеи о том, как это можно исправить?