在功能之前等待.ready和按钮单击

时间:2014-05-26 14:51:47

标签: javascript

我的Google地图仅显示功能a是否为document.ready。但是,然后在用户单击调用函数dothis()的按钮之前调用函数getMyID(inputId)

如何在文档准备好并单击按钮时运行我的脚本?

这是我的代码:

 function dothis(inputId)
 {
 if (inputId == "1"){
dlat=30.745271;
dlng=0.578793;
getLocation();
}
else if (inputId == "2"){
dlat=40.836671;
dlng=0.578793;
currentloc();
}

}

 $(document).ready(function a() {

 var script = document.createElement('script');
 script.type = 'text/javascript';
 script.src = 'https://maps.googleapis.com/maps/api/js?key=ALsbSyEQvVel4MCu9xMBvD_92qAuqrFrcnos0dc&libraries=geometry,places&sensor=true&callback=dothis';;
 document.body.appendChild(script);

};

$(document).ready(function() { a(); })

3 个答案:

答案 0 :(得分:0)

那么,为什么不调用像(<)这样的

$(document).ready(function() { a(); })

或者如果你不使用jquery,那么

window.onload = a();

OnLoad的工作方式略有不同:它不会等待资源加载(例如图像)来触发事件。 jQuery document-ready事件将等待加载所有资源,然后触发事件。

答案 1 :(得分:0)

如果你想使用jQuery,请尝试这种方式:

function dothis() {
...
}

$(document).ready(function() {

  $('#MyButton').click(dothis);

}

这样,按钮将与dothis函数关联,可以在文档准备好后调用该函数;)

答案 2 :(得分:0)

你想要做的是调用window.onload并在那里初始化你的按钮点击处理程序 例如

function dothis() { // Do this }

function getInput(input) { // Get input }

function init() { document.getElementById('mybutton').onclick = getInput }

window.onload = init