我有以下内容:
var thiscode = {
init: function(){
jQuery('#submit').bind('click',thiscode.clickListener);
},
clickListener: function(event){
setTimeout('document.myform.submit()',5000);
return false;
}
};
thiscode.init();
Run Code Online (Sandbox Code Playgroud)
setTimeout正在工作,但是当它触发时,我得到了这个:"document.myform.submit不是一个函数".
知道为什么和/或如何解决它?
不要传递字符串setTimeout
,传递匿名函数...
clickListener: function(event) {
setTimeout(function() {
document.myform.submit();
}, 5000);
return false;
}
Run Code Online (Sandbox Code Playgroud)
编辑:刚刚有一个启示.如果表单中的元素名称/ id为"submit",则会覆盖DOM中的submit函数(document.myform.submit现在将引用该元素而不是函数).如果是这种情况,则需要重命名该元素.
这可能与您使用setTimeout(其他人提出的问题)无关.
最可能的原因是你在表单中有一个名为submit(或者作为id的元素)的元素(可能是你与jQuery选择器匹配的元素),并且这已经用一个替换function
了submit
属性上的元素HTMLElementNode
.
最简单的解决方案是重命名元素.
归档时间: |
|
查看次数: |
1542 次 |
最近记录: |