jquery append 的 html 未检测到 javascript?

标签 jquery html ajax append

抱歉,如果我的问题deosnt有意义,但这是我可以提出的最好方式,我有这个jquery脚本,当用户单击登录链接时,它会 append html表单来执行此操作,效果很好,但 append 的(登录表单)使用jquery登录网站,但它似乎检测不到javascript,

相反,当我将登录表单放在不 append 的情况下,通常在页面上,它工作正常,它检测到 JavaScript,但在 append 时则不会。

我希望你明白我刚才所说的,谢谢:))

代码有点长,但出于说明目的我将其缩短了。

http://jsfiddle.net/YHCwM/1/

最佳答案

这是因为当脚本首次运行时,通常 jQuery 会将事件绑定(bind)到 DOM 中已有的元素。后面添加的元素需要进行不同的绑定(bind),通常使用 .live() .

而不是:

$('#elementAddedLater').click(function(){/*....*/});

尝试:

$('#elementAddedLater').live('click',function(){/*....*/});

上面的链接函数名称给出了可以通过 .live() 绑定(bind)的其他事件的运行

正如 @Pointy 所指出的,下面的内容也值得一看 .delegate() ,它似乎提供与 .live() 大致相同的功能,但更简洁明了。

关于jquery append 的 html 未检测到 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3901837/

相关文章:

jquery - 在 html 网格中显示 html 代码

ajax - 跨域请求被阻止 : The Same Origin Policy disallows reading the remote resource (POST request with object)

javascript - 轮询卡住、Pebble.js、ajax、node.js

javascript - jquery中这段代码有什么问题

javascript - 如果一个元素有兄弟元素该怎么办

javascript - 如何使用 JavaScript 验证 HTML 中的 "Select"标签

html - 在没有 AJAX 的情况下加载页面的一部分

javascript - 使用 angularjs 对字符串的一部分进行子串

Javascript 细粒度性能调整

javascript - 如何仅使用 JavaScript 使按钮改变颜色?