如何使用参数onload或dom准备好后调用函数?

时间:2017-07-24 02:38:23

标签: javascript jquery dom selecteditem selectedvalue

我有以下功能,它接受一个选定的值并在onclick上运行它。我仍然会这样离开。但是,客户端希望具有应该运行该功能的默认选择值,并且此功能在页面上进行更改。

那么我应该如何通过取预选值运行此函数并在dom准备就绪后运行它而不点击任何内容?

var value = $("#market-select option:selected").text(); // this takes value of pre-selected item
vizFilter1(value); // and I want to call this function after dom is ready or onload after passing values. 

我试过这种方式,但它没有做任何事情。

$(document).ready(function (){

function run (){
var value = $("#market-select option:selected").text();
vizFilter1(value);

}

}); 

如何在页面加载后运行此操作而无需用户执行任何操作?

1 个答案:

答案 0 :(得分:1)

如果您希望能够从多个位置运行这两行代码,例如,从单击处理程序和DOM就绪,将它们包装在一个函数中(就像您已经完成的那样)然后调用它来自DOM就绪处理程序的函数。或者只是将函数绑定为就绪处理程序:

function run (){
  var value = $("#market-select option:selected").text();
  vizFilter1(value);
}

$(document).ready(function (){
  run();
  // do other on ready things here if required
});

// OR, if you don't need to do other things:
$(document).ready(run);

在您展示的尝试中,您声明了run()函数,但从未调用它。虽然只要你再调用它就可以在你的就绪处理程序中定义函数 - 这可能更好,因为它使函数不在全局范围内。