JQuery wrapInner 触发器 jQuery(document).ready 两次.
JQuery wrapInner triggers jQuery(document).ready twice
我正在使用wrapInner
函数,但这些函数再次触发了我的jQuery(document).ready
事件。
这是正常行为吗?如何避免这种情况?
更新:
miscellaneous : function(){
$('#nav .active a').bind('click',function(){ return false });
$('.type-a, .type-b, .type-c, .type-d, .type-e').append('<div class="type"></div>');
//$('body').wrapInner('<div id="root"></div>');
$('#content').wrap('<div id="content-wrapper"></div>');
$('#filter .time > li').append('<span class="arrow"></span>');
$('#filter .category li a').wrapInner('<span></span>');
$('#filter .time > li > ul').hide();
$('#filter .time > li').live('mouseenter',function(){
if($(this).children('ul').css('display') != 'block'){
$(this).children('ul').fadeIn('fast',function(){
$(this).css({'display':'block'});
});
}
}).live('mouseleave',function(){
if($(this).children('ul').css('display') != 'none'){
$(this).children('ul').fadeOut('fast',function(){
$(this).css({'display':'none'});
});
}
});
}
如果我取消注释第 4 行,则会显示两次以下警报。注释该行后,警报仅显示一次。
jQuery(document).ready(function($) {
alert('in ready');
});
由于您的代码位于正文的子元素中,一旦您将正文的内容包装在另一个div 中,将重新执行正文中的脚本。只需在使用 wrapInner 之前删除这些脚本即可。删除脚本不会影响页面的功能,除了不会导致警报发生两次。
$("body").find("script").remove().end().wrapInner("<div id='root' />");
相关文章:
- Meteor Router数据函数被调用两次
- 从MySQL数据库中获取输入数据需要两次页面刷新
- Module.start()已激发两次
- Jquery点击事件必须点击两次
- Append元素在运行两次函数后不显示
- 防止双击执行两次jQuery post请求
- 我必须点击两次才能激活任何按钮操作(离子/角度)
- 单击jQuery会激发两次
- 如何避免在树上走两次
- button.单击两次删除附加操作后不工作
- 由于$compile,Javascript(Angular)嵌套指令加载了两次
- 单击元素两次后执行操作
- 文件上传文档.ready .on('submit') 提交了两次
- jQuery 和 document.ready() 触发两次
- jQuery $(document).ready () 触发两次
- jquery ready 函数在我单击锚标记时执行两次
- JQuery wrapInner 触发器 jQuery(document).ready 两次.
- $(document).ready(function(){} jquery被调用两次
- $(document).ready和Window onload导致事件触发两次
- Angular.element (ready)函数在cordova中被调用两次