首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >脚本标签在jquery加载时未激活

问脚本标签在jquery加载时未激活
EN

Stack Overflow用户
提问于 2012-05-23 10:25:24
回答 2查看 338关注 0票数 0

我的问题是,当我使用jquery将一个页面加载到div中时,script标记并没有按照我希望的方式激活(尽管我知道它们确实激活了)。

我已经看到了几种不同的加载脚本的方法(比如$.getScript();)。然而,无论我怎么尝试,我都不能获得效果,就像我实际将代码放在那里而不是加载它一样。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-23 10:41:15

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

您的脚本标记没有激活的原因是没有事件可以附加到它。因此,脚本不能自行激活。因此,下面是让它们运行的最简单的方法:

代码语言:javascript
复制
//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);
票数 0
EN

Stack Overflow用户

发布于 2012-05-23 10:31:43

如果您正在询问如何将新元素插入到div中以响应click之类的事件,则应在主头脚本中使用以下内容:

代码语言:javascript
复制
$(document).on('click', "#mynewdiv", function() {----});

一旦在文档中创建了具有该id的div,这将以该div为目标,该文档在页面加载时已经存在。

如果您有一个已经存在的包装器元素,并且您希望将特定于该元素的所有插入元素作为目标,则可以更精确地使用:

代码语言:javascript
复制
 $("#wrapper").on('click', "*", function() {----});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10712686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档