Вы сказали:
Поскольку область ввода чата встроена в веб-чате, я не могу взять идентификатор или класс области ввода в чате.
Это означает, что ваш вопрос касается того, как прочитать пользовательский ввод из области ввода веб-чата и / или как программно записать текст в область ввода веб-чата. Я объяснил, как сделать обе эти вещи в своем ответе на ваш другой вопрос :
Веб-чат использует Redux , в котором есть Redux store , который может использовать Redux middleware . В веб-чате есть действие под названием WEB_CHAT/SET_SEND_BOX
, которое можно использовать для ответа на то, что пользователь вводит в поле ввода текста, например:
const store = window.WebChat.createStore(
{},
store => next => action => {
if (action.type === 'WEB_CHAT/SET_SEND_BOX') {
const user_entered_text = action.payload.text;
// Use the text to query the Azure database and display suggestions
}
return next(action);
}
);
Когда пользователь нажимает на предложение или нажимая правую клавишу, вы можете использовать это же действие для изменения содержимого текстового поля следующим образом:
store.dispatch({
type: 'WEB_CHAT/SET_SEND_BOX',
payload: {
text: user_selected_suggestion,
}
});
В репозитории Web Chat samples , которые могут помочь с использование действий Redux в веб-чате
РЕДАКТИРОВАТЬ: С тех пор я понял, что вам может понадобиться способ получить доступ к элементу отправляющего ящика с целью позиционирования вашего нового всплывающего элемента. Вы упомянули, что хотите альтернативу jQuery, и я думаю, что jQuery не понадобится, если вы будете использовать объектную модель документа нормально. Это сообщение о переполнении стека может вам помочь: Получить элемент внутри элемента по классу и идентификатору - JavaScript
Как видно из этой темы, которую я связал ранее , авто -предложения не являются функцией веб-чата, и неуместно обращаться к Stack Overflow, чтобы попросить людей бесплатно создавать для вас новые функции. Если вы хотите создать эту функцию самостоятельно, я рекомендую продолжить изучение элементов пользовательского интерфейса , Веб-чат , HTML, JavaScript и Реагируют . Когда вы пытаетесь завершить свой проект, если вам когда-нибудь понадобится помощь с одной конкретной c проблемой , с которой вы столкнулись, тогда вам следует опубликовать вопрос о переполнении стека. Чтобы получить хороший ответ, вам нужно будет быть добросовестным , объясняя проделанную вами работу и то, что вы уже пробовали, и предоставляя ссылки на документы, на которые вы ссылались, и т. Д. c. Вопрос о том, как создать всю эту новую функцию веб-чата, слишком широк для переполнения стека, поэтому вот несколько примеров хороших вопросов, которые вы, возможно, в конечном итоге зададите после того, как приложите разумные усилия, чтобы самостоятельно найти ответ. :
- Как найти идентификатор ранее существующего элемента на веб-странице, который я хочу изменить?
- Какой тип элемента пользовательского интерфейса подходит для предложений автозаполнения в веб-браузер?
- Как запросить базу данных Azure, чтобы найти предложения автозаполнения на основе введенного пользователем текста?
Обратите внимание, что эти примеры заданы c штук вопроса о том, как реализовать свой проект предложения слов. Если вы точно укажете c о том, что вам нужно, вы найдете подходящих экспертов, которые помогут вам решить ваши проблемы. Хотя я могу ответить на ваши вопросы, связанные с веб-чатом, когда вы расширяете сферу своего вопроса, чтобы включить в нее вещи, не связанные с веб-чатом, вам становится труднее найти одного человека, который может дать вам один ответ, потому что он ' Мне нужно быть экспертом во многих разных вещах.