Javascript js函数在页面加载时未运行?

Javascript js函数在页面加载时未运行?,javascript,jquery,function,Javascript,Jquery,Function,对于这个相当基本的问题,我深表歉意,但我在这里已经穷途末路了 我有一个javascript函数,我想在页面加载时运行它。。。简单对吧?我试过把函数放在doc readys、window readys中,放在主函数之前和之后,等等。似乎什么都不起作用 迄今为止的代码: function calcme() { DA FUNCTON } $(document).ready(function(){ calcme(); $("input").bin

对于这个相当基本的问题,我深表歉意,但我在这里已经穷途末路了

我有一个javascript函数,我想在页面加载时运行它。。。简单对吧?我试过把函数放在doc readys、window readys中,放在主函数之前和之后,等等。似乎什么都不起作用

迄今为止的代码:

function calcme() {         
    DA FUNCTON
    }

$(document).ready(function(){   
    calcme();
    $("input").bind("keyup", calcme);

});
请注意。。。keyup绑定确实有效,但我需要calcme函数在页面加载时加载。想法


更新:根据要求,这是完整的小提琴

发现问题
calcme()
函数假定从其中一个输入的上下文调用它,并在其中使用此.value。所以,当你在没有任何参数的情况下调用它时,它显然失败了。这可以通过触发每个输入的
keyup
来解决,而不是直接调用
calcme()
。看下面的小提琴

工作小提琴:


ready()
处理程序中,bind语句位于
caclme()
调用之后。正如您所提到的,事件绑定是有效的。这意味着:

a)
calcme()
肯定是在加载时执行的。没有其他方法,因为您已经提到,
calcme()
调用之后的binding语句按预期工作

b)
calcme()
没有抛出任何JS错误-如果是这样,它会在出现错误时停止,并且不会发生事件绑定。也许它抛出了一个警告,您可以在JS控制台中看到

c) 由于您尚未提供
calcme()
中的内容,我们无法确定。但是它看起来像是某种条件故障,因为在负载运行时,您没有从
calcme()
获得预期的结果。您是否在使用加载运行后初始化的
calcme()
中的任何内容。我建议加入一个
调试器语句作为
ready()
处理程序的第一行,并在Firebug或Chrome中跟踪它。

尝试以下操作:

function calcme() {         
   try {
      //your code
   }
   catch(e) {
      alert('error: ' + e);
   } 
}

if (typeof $ === undefined)) {
   alert('not jquery');
}

$(document).ready(function(){   

    if (typeof calcme === undefined) {
       alert('calcme not exist');
    }
    else {
       calcme();
       $("input").bind("keyup", calcme);
    }
});

如果绑定有效,则必须调用初始calcme。可能看起来不是,但这是由于函数本身的行为(我们对此没有深入了解)。如果
keyup
正在工作,则表示
onload
函数已经工作并绑定了事件。使用Firebug查看js错误,也发布
calcme()
方法。这似乎是导致错误的原因。什么是“DA FUNCTON”?。这应该可以很好地工作,您必须检查“calcme”中的任何问题。当calcme运行时,您是否检查了javascript错误?您是否在calcme中将断点设置为它执行的内容并查看出了什么问题?您是否已将其上载到任何地方?有URL吗?
calcme()
不太可能引发异常,因为在这种情况下,之后的语句(事件绑定)不会执行。感谢您的全面响应。我现在至少明白一点了。这里是完整的小提琴,如果它确实有任何线索。。。好的,发现问题了。您的
calcme()
函数假定它是从一个输入的上下文调用的,并在内部使用
this.value
。所以,当你在没有任何参数的情况下调用它时,它显然失败了。啊,这是有道理的!非常感谢。那么您添加的代码在每个输入和“keysup”之间循环?强制它运行,而不是调用函数?没错。它在每个输入上逐个模拟一个
键控