获取$(function()重复或不降级

时间:2014-04-05 19:43:04

标签: javascript jquery html css css3

长话短说。我正在对我的网站进行故障排除,以使其正常工作我必须将其包含在标记中

<script type="text/javascript">
     $ (function() {
        RESPONSIVEUI.responsiveTabs();
     });
</script>

我正在做的是我正在接受

   index.html #content_container

并使用

加载到我的personal.html文件中
$(".personal_info").live('click', function() {
 $("#content_container" ).load("personal/personal.html")
 $("#info").slideUp(1000, function() {
  $("menu").css("border-bottom", "#F93 2px Solid");
 });
 return false;
});

我也允许用户返回

    index.html

没有刷新或重新加载

$(".home_button").live('click', function() {
 $("#content_container").stop().load("./index.html #drill_banner")
 $("#info").slideDown(1000, function() {
  $("menu").css("border-bottom", "#F93 2px Solid")
 });

 return false;
});

你可以看到它真的只是加载

  index.html #drill_banner

   #content_container

但这种钻井会降低

     <script type="text/javascript">
     $ (function() {
        RESPONSIVEUI.responsiveTabs();
     });
</script>

    index.html

这样,如果您点击返回&#34;个人&#34;它不会加载

的任何脚本或格式
  personal.html

实例(使用chrome)是http://www.DSTPC.ca/Beta/index.html 点击&#34;个人&#34; 点击&#34; home&#34; 点击&#34;个人&#34;

你会明白我的意思......

1 个答案:

答案 0 :(得分:0)

正如评论中所提到的,我对您的自适应标签脚本正在做什么并不乐观,但肯定会有一些信息需要您考虑才能使其发挥作用。

首先,当您使用.load()将动态元素加载到DOM中时(或者在DOM最初加载后创建元素并将其附加到DOM时),您需要具有某种event listener知道如何影响那些新的DOM元素。

使用.load()时,您可以使用callback功能,如下所示:

$("#content_container").load("somepage.html", function() {
    // I am ready to do stuff with elements on `somepage.html`
});

在您的情况下,您可能需要重新加载&#34;插件&#34;或源脚本,然后再次包含脚本调用 ,如下所示:

$("#content_container").load("somepage.html", function() {
    $.getScript("some_responsive_plugin.js")
    .done(function(script, status) {
        // new script is loaded upon success
        // Make use of new script, for example maybe:
        // RESPONSIVEUI.responsiveTabs();
    });
});

最后,jQuery的live方法is deprecated。你最好使用jQuery&#39; .on() event handler

因此,您的使用可能会改变:

$(".personal_info").live('click', function() {
    // do stuff
});

为:

$(".personal_info").on('click', function(e) {
    // do stuff
});

希望有所帮助!