为什么我不能在jQuery(document).ready()中调用我的名称空间?
Why can't I call my name space within jQuery(document).ready()?
我正在为我的项目创建名称空间,我想在jQuery(document).ready()
中调用一个函数。
MYNAMESPACE.myFunction();
移到jQuery(document).ready()
里面,它就不再工作了。
这可能是因为一些jQuery的逻辑,我不明白。有人能给我指个方向吗?这是我的小提琴。
代码://HTML
<div class="test"> test </div>
//JS
jQuery(document).ready(function($) {
if($('.test').text().length > 0){
MYNAMESPACE.myFunction(); //function call
}
});
;var MYNAMESPACE = {};
;(function($) {
MYNAMESPACE = {
myFunction: function()
{
$('.test').text('Text changed');
}
}
})(jQuery);
// MYNAMESPACE.myFunction(); //<-- This works
您的代码在window.load上执行。这意味着当您进行调用并且jQuery同步执行回调时文档已经准备好了。此时,您还没有定义MYNAMESPACE
。
如果你指定你不希望代码在window上执行,它会起作用。负载:http://jsfiddle.net/baT47/
或者先定义MYNAMESPACE
: http://jsfiddle.net/c8L7c/
;var MYNAMESPACE = {};
;(function($) {
MYNAMESPACE = {
myFunction: function()
{
$('.test').text('Text changed');
}
}
})(jQuery);
// MYNAMESPACE.myFunction(); //function call
jQuery(document).ready(function($) {
if($('.test').text().length > 0){
MYNAMESPACE.myFunction(); //function call
}
});
相关文章:
- Flash Uploadify在调用我的MVC控制器时没有保留会话/授权
- 为什么我的函数没有被调用呢
- 我可以让我的Ajax调用引起一个“;进行中”;光标
- 为什么我的ajax在提交用@HtmlRenderPartial加载的表单时只调用fire一次
- 如何验证我对StockTwits API的调用
- 我应该如何声明我的自调用函数
- 当在文档中拖动mouseup/mouseleve时,我想调用我的Ajax请求
- 我如何防止错误“;未捕获(在promise中)DOMException:play()请求被对pause()的调用中断&”
- 为什么没有调用我的流错误处理程序
- 当我的单元测试失败时,回调被调用了两次
- 我的jQuery加载请求是否被调用了两次
- JQuery$.ajax()发布数据以调用我的控制器中的方法
- 如何在javascript中调用onclick事件?我没有'我不想在我的HTML页面中使用任何事件
- 从未达到我的函数调用-ReactJs 0.12.0
- 为什么我的Jquery.ajax调用会触发错误事件
- 我的徽章;如果“;为什么没有调用关联的函数
- 为什么我的 ajax 调用没有生成,因为我包含 ajax 的 js 文件包含在 iframe 中
- 我的函数调用在回显中不起作用
- 通过 Jquery 调用 tr 属性并找到我的内部复选框
- 为什么我导入js文件的地方会影响我的调用