Javascript 在加载页面时调用函数

Javascript 在加载页面时调用函数,javascript,Javascript,当我加载窗口时,这个函数会被自动调用,我不希望这样,相反,我希望只有在我进行更改时才调用这个函数 主要的一点是调用函数(zeKey){…}(key)。执行此操作时,key(字符串)将作为参数(zeKey)复制到匿名函数中 for (var key in obj[i]) { dataDump[key] = textField.value; var callback = function(zeKey){ return function(e){ dat

当我加载窗口时,这个函数会被自动调用,我不希望这样,相反,我希望只有在我进行更改时才调用这个函数

主要的一点是调用
函数(zeKey){…}(key)
。执行此操作时,key(字符串)将作为参数(zeKey)复制到匿名函数中

for (var key in obj[i]) {
    dataDump[key] = textField.value;
    var callback = function(zeKey){
       return function(e){
          dataDump[zeKey] = e.source.value;
       }; 
    }(key);
    textField.addEventListener('change', callback);
}
  • 使用参数
    zeKey
    调用匿名函数
  • 此匿名函数返回另一个函数。此返回函数被分配给回调函数
  • 如果1您所说的“函数正在被调用”是什么意思,则这是预期的行为

    只有在DOM就绪后,才能调用整个代码。将所有这些放在一个函数中,并确保只在或(jQuery)上调用该函数


    函数返回的函数将仅在回调期间调用。

    创建dom后添加这些代码。如果上述代码在函数中,请附加到window.load或在页面末尾写入这些代码。

    哪个函数?设置回调的函数?从外观上看,这不是应该的吗?我可以为一个字段写两个Listner吗。。我是说。。addEventListener('change',callback,callback2),其中callback2仅在更改期间调用。。。正常人function@John您可以为一个元素的同一事件编写多个侦听器(这就是为什么添加事件侦听器的原因)。您可以通过添加两个侦听器来实现这一点:
    element.addEventListener('click',function1)
    元素。addEventListener('click',function2)
    
    var callback = function(zeKey){
        return function(e){
            dataDump[zeKey] = e.source.value;
        }; 
    }(key);