2010-06-08 55 views
2

我想在我的html页面上使用函数,但内容通过ajax传递,我如何首先加载脚本然后应用函数?如果将脚本包含在我的<head>中,它将不起作用。另外我怎样才能使用jQuery .find(),并且应用一个函数或者修改css中已经加载页面后传递的内容?在函数之前加载脚本

+0

你是通过'document.createElement('script')'注入脚本吗? – Amarghosh 2010-06-08 09:18:34

回答

1

LABjs(http://labjs.com/)有,一个真棒接口。这是一个示例代码。

<!-- In the head --> 
<script src="lab.js"></script> 
<!-- In the body --> 
<script> 
    $LAB 
    .script("yourscript.js") 
    .wait(function(){ 
      yourfunction(); 
    }); 
</script> 

在上面的例子中,yourfunction();将只脚本yourscript.js已被加载之后被调用。

编辑:在使用.load方法进行ajax调用之后,这就是您的主体脚本的外观。

<script> 
    $('taggetelmselector').load(your_url, data, function(){ 
     $LAB 
     .script("yourscript.js") 
     .wait(function(){ 
      yourfunction(); 
     }); 
    }); 
</script> 
+0

我希望通过ajax加载搜索结果后加载 – andrei 2010-06-08 10:35:49

+1

尽管您仍然需要使用LABjs,但您需要为ajax调用添加ajax complete事件处理程序。我将更新示例,假设您正在使用.load()[http://api.jquery.com/load/]方法。 – partoa 2010-06-08 10:53:47

+0

找到了答案: 我用$ .get();结合$ .getScript来自动刷新脚本,这样他们就可以记住新元素 – andrei 2010-06-08 10:55:17

0

jQuery具有内置于getScript函数中的此功能。

$.getScript('yourscript.js', yourfunction); 
相关问题