脚本标记未在jquery加载时激活

时间:2012-05-23 02:25:24

标签: jquery tags load

我的问题是当我使用jquery将页面加载到div中时,脚本标记不会按照我希望的方式激活(尽管它们会根据我的判断激活)。

我已经看到了一些加载脚本的方法(例如$ .getScript();)。但是,无论我尝试什么,我都无法像在实际放置代码而不是加载代码一样工作。

因此,我想我的问题是我应该如何设置一些东西,使其具有与实际存在的代码相同的效果(如同通常以相同的顺序激活)。

2 个答案:

答案 0 :(得分:0)

如果您询问如何将新元素插入div中以响应click等事件,则应在主标题脚本中使用以下内容:

$(document).on('click', "#mynewdiv", function() {----});

一旦在文档内部创建了div,它将以该id为目标,该文档已经存在于页面加载中。

如果你有一个已经存在的包装元素,并且你想要定位特定于该元素的所有插入元素,你可以更精确地使用:

 $("#wrapper").on('click', "*", function() {----});

答案 1 :(得分:0)

我怀疑你会喜欢我的答案,因为它的邪恶!但这是我知道的唯一方法。

脚本标记未激活的原因是没有将其附加到的事件。因此,脚本无法自行激活。所以这是让它们运行的​​最简单方法:

//find script tage in page html (your ajax call will return html, represented here as 'newPage'
var scriptAsStr = newPage.split('<script>')[1].split('</script>')[0];
// run that script with eval
eval(scriptAsStr);