Javascript 从外部文件调用JS函数,并在页面加载时传递参数

Javascript 从外部文件调用JS函数,并在页面加载时传递参数,javascript,jquery,Javascript,Jquery,我对JS还有些陌生,所以我想知道是否还有其他方法可以做到这一点: main.js: $(function () { $('.delete_btn').click(function () { var confirmation = confirm('Deseja remover este evento?'); if (!confirmation) return false; }) }) function updateIsoDate(date) { $('

我对JS还有些陌生,所以我想知道是否还有其他方法可以做到这一点:

main.js:

 $(function () {
   $('.delete_btn').click(function () {
      var confirmation = confirm('Deseja remover este evento?');
      if (!confirmation) return false;
   })
})

function updateIsoDate(date) {
   $('.datepicker').datepicker('setDate', date);
}
function updateIsoDate(date) {
$('.datepicker').datepicker('setDate', date);
}
我已经在调用它的一个函数onload,但它不是必需的和特定的东西

events.ejs:

您可以在页面准备就绪(第一个)或完全加载(第二个)的位置调用它

因此,调用函数并传递参数将是:

<script src="/js/main.js"></script>
<script>
   $(window).on('load', function () {
      myFunc(arg);
   }
</script>

$(窗口).on('load',函数(){
myFunc(arg);
}
Simpy do:

window.onload=function(){
coolonloadfunction("p1", "p2");
}
或者在Jquery中:

$(document).ready(function(){
coolonloadfunction(" p1", "p2");
});
这意味着:

function coolonloadfunction(a,b){
alert(a);//p1
alert(b);//p2
}
可能位于不同文件中的,可能加载有:

<script src=" scriptwithcoolonloadfunction.js"></script>

请记住,外部文件应放在调用文件中函数的代码前面

这回答了标题,但是你真正的问题对我来说有点不清楚。请指定你为什么不移动

<script>
    $(document).ready(function () {
      updateIsoDate($('#dateInfo').val());
    });
<script>
events.ejs:

我已经添加了javascript文件

<script src="/js/main.js"></script>
main.js:

 $(function () {
   $('.delete_btn').click(function () {
      var confirmation = confirm('Deseja remover este evento?');
      if (!confirmation) return false;
   })
})

function updateIsoDate(date) {
   $('.datepicker').datepicker('setDate', date);
}
function updateIsoDate(date) {
$('.datepicker').datepicker('setDate', date);
}

只需在第一个脚本标记下面添加第二个脚本标记。我的代码已经在main.js上。我想在加载页面$(document)时向它传递和参数/参数。ready(function())将在DOM创建时启动您的函数。无论哪种方式,如果您放置类似于:$(document)。ready(function(){updateSoDate)的代码,您的选项也将起作用($(“#dateInfo').val());});两种方法都可以。或者我不知道代码有什么问题?请尝试在某个地方控制台.log('test')检查代码是否已启动。如果我已经在这样做,我想从外部调用该函数file@Johny桑塔纳:没问题。我还是不明白你的意思“函数2.来自外部JS文件3.传递参数4.页面加载?因为你的答案缺少关键因素“从ajs文件调用函数”。@Johnny Santana:所有JS文件都在“窗口”范围内执行,这意味着它们可以轻松交互。我测试了它,但它不起作用。我甚至认为这是因为$(文档)…但它正在处理$(窗口)和$(文档)。谢谢您的时间
<script>
    $(document).ready(function () {
      updateIsoDate($('#dateInfo').val());
    });
<script>
function updateIsoDate(date) {
   $('.datepicker').datepicker('setDate', date);
}
$(function () {
   $('.delete_btn').click(function () {
      var confirmation = confirm('Deseja remover este evento?');
      if (!confirmation) return false;
   })
   $(document).ready(function () {
      updateIsoDate($('#dateInfo').val());
   });
})
<script src="/js/main.js"></script>
    <div class="form-group">
      <label for="date">Data do Evento</label>
      <input type="text" class="form-control datepicker dp-add" id="date" name="date">
      <input type="hidden" id="dateInfo" name="date" value=' <%= event.date %>' required>
   </div>
    ...
    <script>
    $(window).on('load', function() { 
        // Formating IsoDate to be displayed and setting into the datepicker
        updateIsoDate($('#dateInfo').val());
    });
    </script>
function updateIsoDate(date) {
$('.datepicker').datepicker('setDate', date);
}