jQuery 函数的全局命名空间问题
global namespace issue with jquery function
在初始页面加载后,我在从全局名称空间调用jquery定义的函数时遇到问题。 根据我在下面的代码,页面最初加载正常,但是当我尝试调用我的onchange事件时,我收到以下异常:
Uncaught TypeError: undefined is not a function
我的jquery代码看起来像这样:
(function ($) {
$(document).ready(function() {
var user_id = $('#user_id').val();
var identifier = $('#identifier').val();
$.getPostFeed(user_id, identifier);
$(document).on("change", "#postFilter", function(e) {
e.preventDefault ();
$.GetPostFeed(user_id, identifier);
});
});
jQuery.getPostFeed = function getPostFeed(user_id, identifier) {
console.log("Function Called");
}
}(jQuery));
当我第一次加载页面时,GetPostFeed 函数已成功执行,但是当我执行 onchange 事件时,我收到以下错误:
Uncaught TypeError: undefined is not a function
错误指向更改事件中的 GetPostFeed 函数调用。
知道为什么会这样吗?
谢谢-保罗
找到了 Matt 指出的问题。 jQuery区分大小写。谢谢马特
将函数定义为表达式时,参数紧跟 function
关键字。尝试更改
jQuery.getPostFeed = function getPostFeed(user_id, identifier) {
自
jQuery.getPostFeed = function(user_id, identifier) {
我遇到了你的问题:
<script>
//use
$.getPostFeed(user_id, identifier);
//instead of
// $.GetPostFeed(user_id, identifier);
</script>
它只是一个按字母顺序排列的问题:使用"getPostFeed"而不是"GetPostFeed"。
要么你没事。
如果全局使用命名空间,则必须始终使用相同的命名空间。
前任。如果您使用$
,则在所有地方都应使用相同的函数$
而不是使用关键字 jQuery
.
尝试以下代码:
(function ($) {
$(document).ready(function() {
var user_id = $('#user_id').val();
var identifier = $('#identifier').val();
$.getPostFeed(user_id, identifier);
$(document).on("change", "#postFilter", function(e) {
e.preventDefault ();
$.GetPostFeed(user_id, identifier);
});
});
$.getPostFeed = function getPostFeed(user_id, identifier) {
console.log("Function Called");
}
}($));
相关文章:
- 在javascript中使用命名空间
- 为什么不推荐使用“with”?是否有更好或其他方法可以“下降”到对象的命名空间
- javascript中的命名空间,IDE中支持代码完成/内容辅助's
- 如何使用javascript命名空间
- jQuery 函数的全局命名空间问题
- 谷歌关闭库中的命名空间问题
- 调用命名空间的公共函数(coffeescript)时出现问题
- socket.io + Sencha 中的 JavaScript 命名空间问题
- 聚合物,访问自定义元素/命名空间问题
- Javascript 命名空间在从函数返回数组时出现问题
- 从一个.js文件中调用另一个.js文件中的函数时出现命名空间问题
- jQuery - 方法链的插件和命名空间问题
- socket.io-使用命名空间时出现套接字变量问题
- JavaScript中的命名空间技术在JSLint中存在问题
- javascript 中的命名空间问题
- Javascript-命名空间的回调函数问题
- Javascript命名空间问题,我如何在这个函数调用中获得这个值
- 构建CoffeesSript浏览器应用程序——命名空间和作用域问题
- Javascript中的命名空间问题
- JSDoc 3命名空间问题