我有一个javascript和一个HTML文件,它在外部jQuery文件(jquery.myfile.min.js
)中使用了很少的函数。但是,jquery.myfile.min.js
中写入的函数未被执行。
我使用浏览器控制台并收到此消息:
TypeError: undefined is not an object (evaluating 'jQuery.myfile.validateData')
我检查了文件在网站上成功加载的资源。这可能有什么问题?
我要拨打的代码是
<script>
function myFunction(){
if (jQuery.myfile.validateData(data) === true) {
...
}
}
</script>
我的jQuery文件jquery.myfile.min.js
看起来像这样:
(function() {
t = jQuery, t.myfile = {}, t.myfile.fn = {}, t.fn.myfile = function() {
..
.
...
t.myfile.validateData = function(t) {
var n, r;
...<some logic>...
return 1
}
}})
由于
答案 0 :(得分:0)
不确定应该在jQuery选择器的结果上提供myfile
属性。 (这应该是由你的JS文件提供的吗?我不能从你的问题中判断你编写的代码是为了扩展jQuery还是它只是标准的jQuery。)
访问不存在的属性会导致undefined
。
所以,在这一行:
jQuery('#my_variable').myfile('formatText');
... .myfile
未定义。所以.myfile('formatText')
不是函数。
这就是为什么在这一行中,您收到错误undefined is not a function
。
答案 1 :(得分:0)
首先,再写一遍,不要像这样链接
{{1}}
调试它并检查错误的来源。我想这个错误来自&#34; myFile&#34;。此外,您应该提供有关代码的更多信息。你可能会在延长时犯错。