Javascript对象中的匿名函数标签触发器
javascript object in anonymous function tag trigger
我在一个匿名函数中创建了一个标签触发函数,它是:
(function(){
var getElement = {
getElem: function(element , elemInterval){
if(document.getElementsByTagName('div')[0].onload){
element = document.getElementsByTagName('div')[0];
clearInterval(elemInterval);
element.innerHTML = ' content changed. ';
}
}
}
var element , elemInterval;
elemInterval = setInterval(getElement.getElem(element , elemInterval) , 1000);
})();
它需要做的是每一秒钟调用一个函数,并检查第一个div是否已加载,然后将元素端口保存到"element"变量中,并更改div的内容。
这似乎不工作,这里的问题是什么?
您直接调用它并将结果值传递给setInterval
,即undefined
。
你可能想要传递一个函数给setInterval
,它反过来会调用getElem
:
elemInterval = setInterval(function() {
getElement.getElem(element , elemInterval);
}, 1000);
立即调用该函数并将undefined
(其返回值)作为setInterval
的第一个参数传递。学习闭包的工作原理。
elemInterval = setInterval(function() {
getElement.getElem(element , elemInterval);
}, 1000);
问题很可能是作用域的问题——getElem函数包含在一个var中,而var又包含在函数块中(函数块也有自己的作用域)。区间函数需要在全局作用域中可访问。
我现在不能测试这个,但是iirc,这将工作:
var something = (function(){
var getElement = {
getElem: function(element , elemInterval){
if(document.getElementsByTagName('div')[0].onload){
element = document.getElementsByTagName('div')[0];
clearInterval(elemInterval);
element.innerHTML = ' content changed. ';
}
}
}
var element , elemInterval;
elemInterval = setInterval(something.getElement.getElem(element , elemInterval) , 1000);
return getElement;
})();
但这是一个高级间接,您可能希望避免将您的函数包含在另一个嵌套函数中
相关文章:
- 如何在更新面板内部调用/触发javascript函数<触发器>标签
- 调用函数单击选择标签中的选项
- 在 php 标题标签中添加日期函数
- 将函数事件绑定到更改函数的复选框/标签
- 调用$.get函数时JQuery中出现无效标签错误
- 如何在javascript函数中弹出php(与html标签混合)文件
- 根据单选按钮隐藏标签的函数
- 如何从html和javascript标签和函数中获取文本
- 在 JSF 2.0 (myfaces) 中,ajax 标签中的 onevent Javascript 函数在渲染完成之前
- 从不同的标签调用 java 脚本函数
- 有没有办法从 Javascript 中的函数中调用脚本标签和样式标签
- 如何将标签 ID 作为参数传递给 javascript 函数,然后根据需要获得不同标签的文本
- 在
标签中调用 JavaScript 函数 - JavaScript 不会保留新的标签内容来执行函数
- 如何在 javascript 中创建用于在 1 秒后禁用所有带有按钮标签的元素的函数
- jQuery .click 函数在 < td > 标签上不起作用
- 在 D3.js 中,是否可以将刻度标签的查找函数传递给序数刻度
- 从 Struts 标签调用 JavaScript 函数
- Javascript对象中的匿名函数标签触发器
- 在PHP中调用Javascript函数标签