[英]My jquery doc ready function doesn't recognize an external js file function?
当我将它们与HTML内容放在同一页面上时,我创建了几个可以正常工作的函数,但是由于开始有太多的函数,我决定将它们移至.js文件。 现在无法调用初始函数。
IE8表示该功能不存在。 我已确认链接正确,并确认正在加载js文件。 我什至将初始化的触发事件链接到了一个按钮(带有loadFile类),因此我可以手动触发它以确保它不是加载时间。 我在这里做错了吗?
这是指向外部脚本和文档的链接:
//This is how we must reference external files in our configuration,
//but this is correct, and I am certain this is not the problem.
<script src="<#=getManagedWebFileRelativePath('docAttachmentIE8.js') #>"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.loadFile').click(function() {
initializeDocAttachments();
});
}); // END DOC Ready
</script>
这是我的js文件的摘录:
function initializeDocAttachments() {
//for IE8 load this form
var docFormHTML = "<form method='POST' id='frmUploadDoc' enctype='multipart/form-data' action=''>\
<input type='file' name='data' onchange='handleFileSelect(this);' id='filesInput'> Upload a file</form>";
document.getElementById('docAttachmentControl').innerHTML = docFormHTML;
docLoadDocs();
}
当我将代码放入此小提琴中时,您所拥有的才有意义并可以正常工作: http : //jsfiddle.net/3PtuH/1
您得到的确切错误消息是什么? IE8是否说initializeDocAttachments()
函数不存在? 是否可能说内部docLoadDocs()
函数可能不存在?
如果没有看到页面其余部分的构造方式的完整上下文,将很难完全诊断出来。
我要检查的事情是确保在上面的任何代码之前都将您称为jquery.js,否则它将不会设置您所关注的任何事件。 您是否尝试过使用Firebug并检查控制台以查看其是否报告了任何其他JavaScript错误。
您说您的配置需要您以一种不寻常的方式调用外部JS文件-我假设文件以某种方式被解析,然后将其转换为普通链接? 如果是这样,那么之后的HTML是什么样的?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.