2011-09-08 87 views
1

我知道这个问题已被问到,但我还没有找到任何满意的答案。我有一个非常简单的html页面,我想将其加载到其他页面中。这不是问题,但我陷入困境的是,这个HTML页面有一个jQuery悬停功能,它不会在其他页面上执行。我试过把悬停功能放在每一页上,我试过.getScript。据我所知,jQuery将从.load()页面加载脚本,执行它们,然后删除它们。但由于这是一个悬停功能,我需要这些脚本留在周围。有什么办法可以做到这一点? 我会后,如果必要的代码,但它完美,所以我不认为这是...jQuery .load()与脚本

每一页上:

if ($("#zz7_Menu:contains('myname')")) { 
    $("#toolbar").load('toolbar.html table.toolbaradmin'); 
} 
else { 
    $("#toolbar").load('/toolbar.html table.toolbar'); 
} 

toolbar.html:

<script type="text/javascript" src="scripts/jquery-1.6.2.min.js"></script> 
<link rel="stylesheet" href="jquery-ui/css/redmond/jquery-ui-1.8.13.custom.css" type="text/css" media="all" /> 

<script> 
    $(document).ready(function() { 
    $('.ui-state-default').hover(function() { 
     $(this).removeClass('ui-state-default').addClass('ui-state-hover'); 
    }, 
    function() { 
     $(this).removeClass('ui-state-hover').addClass('ui-state-default'); 
    }); 
    }); 
</script> 

<table class="toolbar"> 
    <tr> 
     <td class="ui-state-default ui-corner-all toolbar"> 

etc ...

+0

“待在身边”的脚本与他们的工作与否无关。一旦脚本运行,它不需要停留,从dom中删除脚本不会撤消脚本所做的任何事情。我建议张贴一些代码 –

+0

添加代码在OP – kramden88

回答

1

尝试将悬停代码移动到一个standalong JavaScript文件中(您可以使用<script src="...">随处加载)。

现在使用jQuery在​​成功完成后再次安装悬停函数调用。解压后,这应该是一行代码。

+0

Noob问题,但我将如何安装悬停功能?谢谢! – kramden88

+0

请参阅文档:http://api.jquery.com/hover/ –

0

将影响表格的javascript移动到表格后面。由于文档已经准备就绪,它会立即运行,恰好在表格添加到页面之前。另外,如果jquery已经包含在父页面中,则不需要在要加载的页面中包含jquery。

<table> 
    <!-- ... table stuff ... --> 
</table> 
<script> 
    $(document).ready(function() { 
    $('.ui-state-default').hover(function() { 
     $(this).removeClass('ui-state-default').addClass('ui-state-hover'); 
    }, 
    function() { 
     $(this).removeClass('ui-state-hover').addClass('ui-state-default'); 
    }); 
    }); 
</script> 
+0

在'

'没有改变任何东西后移动'