#javascript
Вопрос:
в моем html есть кнопка, и она открывает скрипт чат-бота.
он отлично работает на html.
но это не работает в моем скрипте.
...
...
<section>
<button type="button" onclick="javascript:calleoChat('startChat')">Try it</button>
</section>
<script>
//button creation
let btn = document.createElement("button");
btn.innerHTML = "Open Chat-Bot";
//call chat bot script, but it doesn't work
btn.onclick = "javascript:calleoChat('startChat')";
node.appendChild(btn);
//insert button to selected class
document.getElementsByClassName("AddToBagButton__container")[0].appendChild(node);
</script>
пожалуйста, обратитесь к моим примерам кодов выше, и, пожалуйста, дайте мне добрый совет, чтобы решить эту проблему.
Комментарии:
1. ваши
<scipt>
теги находятся внизу html?2. @callmenikk проблема не в этом, код добавляет кнопку. Если скрипт был до html, кнопка не добавляется. Теперь функциональность onclick не работает
3.
node
переменная также не существует, чтоAddToBagButton__container
мы не знаем, поэтому код неясен
Ответ №1:
- В onclick вам не нужно добавлять «javscript: «, вы можете просто поместить код;
onclick="calleoChat('startChat')"
- В скрипте onclick вам не нужно заключать скрипт в кавычки;
btn.onclick = calleoChat('startChat');
- Вы также можете добавить событие в качестве eventlistener (таким образом, вы можете добавить больше):
btn.addEventListener("click", () => calleoChat("startChat"));
Дополнительная информация о событиях onclick: https://www.w3schools.com/jsref/event_onclick.asp
Комментарии:
1. Спасибо за ваш замечательный отзыв. btn.addEventListener(«..») хорошо работает в моем коде