Если вы используете Jquery, вы можете объявить объект, который содержит все функции, которые используют ваш скрипт. Затем объявите функцию init()
в вашем скрипте. В этой функции должны быть все действия, которые генерируют ваши виджеты на странице.
Вот пример (используется Laravel ):
Ваш-script.js:
var myModule = {};
myModule.someAction = function (data, event) {
var parameter = $(this).data('parameter');
// code here
};
myModule.someAnotherAction = function (data, event) {
// code here
};
myModule.init = function () {
$('[data-mywidget]')on('click', myModule.someAction);
};
index.html:
<!-- Your script -->
<script src="{{ asset('your-script.js') }}"></script>
<!-- Some markup here -->
<div data-mywidget data-parameter="{{ $my_dynamic_attribute }}">
<span>...</span>
</div>
<!-- Some markup here -->
<!-- Main script -->
<script>
$(document).ready(function() {
myModule.init();
});
</script