jQuery,当移动我的jQuery代码到外部文件时,得到一个引用错误
jQuery, getting a reference error when moving my jquery codes to external file
当我通过内联html将其放在</body>
结束之前时,该函数可以工作。但是一旦我把它移到js/main.js,它就不再工作了。
<script>
var rowNum = 0;
function addRow(frm) {
rowNum ++;
var html = $('.addphone').html();
jQuery('.phone_adds').append(html);
}
function removeRow(rnum) {
jQuery('#rowNum'+rnum).remove();
}
</script>
与外部.js:
$(function() {
.....other functions...
var rowNum = 0;
function addRow(frm) {
rowNum ++;
var html = $('.addphone').html();
jQuery('.phone_adds').append(html);
}
function removeRow(rnum) {
jQuery('#rowNum'+rnum).remove();
}
});
错误信息:Uncaught ReferenceError: addRow is not defined
帮助吗?这里出了什么问题?
将函数封装到包装器中:
$(function() {
var rowNum = 0;
function addRow(frm) {
rowNum ++;
var html = $('.addphone').html();
jQuery('.phone_adds').append(html);
}
function removeRow(rnum) {
jQuery('#rowNum'+rnum).remove();
}
});
当你这样做时,你定义的函数实际上是包装器的子函数("$"函数),所以,当它从包装器外部调用时,函数不存在。
"inline"有效,因为你的函数是全局的,在任何地方都可见(不在另一个函数中)。
我建议删除函数定义的包装器,只将函数调用保留在$()包装器中。
相关文章:
- jQuery:循环一个具有不同超时值的循环
- Moment/Jquery-一个简单时间线的愚蠢问题
- JavaScript/Jquery:一个特殊用途的for循环函数
- Jquery-一个.click事件中包含两个变量
- Ajax jquery:一个由不同页面构建的页面网站
- 我们如何使用 jquery 一个接一个地读取多个 json 文件
- Jquery:一个jquery对象(方法链)上可以调用的函数数量是否有限制
- 使用 JQuery 一个接一个地获取 html 元素
- 使用 jQuery 一个接一个地切换 DOM 元素
- jQuery - 一个列表中的每个列表在另一个列表之前
- jQuery:一个奇怪的小问题.同时按下事件键
- 使用jQuery一个接一个地淡出框1
- Jscript+jquery+一个基本区别的例子
- jQuery一个函数没有按预期工作
- jquery一个接一个地运行函数
- 如何使用jquery一个接一个地执行一系列动画
- jQuery +一个返回点击元素的函数
- jQuery——一个表单影响另一个表单
- 如何使用jquery一个接一个地移动图像
- Jquery一个表从另一个表继承高度