Я работаю над веб-приложением, которое использует Handlebars. Я пытаюсь получить доступ к обработчику события onclick кнопки из файла scripts.js
(который содержит некоторые служебные сценарии, функции и т. Д. c). У меня есть main.handlebars
, который выглядит следующим образом:
<!DOCTYPE html>
<html lang="en">
<head>
... stuff ...
<title>I'm Stupid</title>
</head>
<body >
... navbar ...
<div class="container">
{{{body}}} <--- Important!
</div>
... footer ..
</body>
</html>
Это еще один файл, который передается в {{{main}}}:
... some html ...
<input type="button" id="submit" class ="button_img_only flex-wrap btn-lg" placeholder="amount" value ="Say Hi!"/>
... more html ...
У меня есть каталог, который содержит служебные файлы javascript. В файле с именем stripe_scripts.js
я пытаюсь получить доступ к обработчику события onclick кнопки submit
. Однако я получаю нулевое возвращаемое значение, которое, как я предполагаю, означает, что кнопка не была найдена?
У меня такие вопросы: Как получить доступ к обработчику кнопок onclick? После некоторого поиска в Google я нашел решение, которое выглядит следующим образом:
<script id="text-template" type="text/x-handlebars-template">
{{{main}}} <-- ??????????????
</script>
, а затем, чтобы получить доступ к кнопке отправки, используйте это:
var source = document.getElementById('text-template').innerHTML;
var template = Handlebars.compile(source);
var context = {body: tbody};
var html = template(context);
document.getElementById('submit').innerHTML = html;
// bind the submit buttons onclick event handler to handle clicks
Как бы я использовал вышеупомянутый шаблон с мой существующий проект? Нужно ли помещать код HTML всей моей страницы в заполнитель {{{main}}} внутри тега скрипта?
Есть ли лучший способ сделать это с помощью Handlebars? (Исходя из этого: https://handlebarsjs.com/installation/when-to-use-handlebars.html#when - руль не для использования , руль не должен был использоваться в первую очередь). Должен ли я отойти от руля и использовать одностраничную архитектуру с чем-то вроде Angular или React? Очевидно, я новичок в веб-разработке, и я мог бы использовать некоторую помощь.