Javascript 从外部文件调用JS函数,并在页面加载时传递参数
我对JS还有些陌生,所以我想知道是否还有其他方法可以做到这一点: main.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) { $('
$(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);
}