抱歉,如果我的问题deosnt有意义,但这是我可以提出的最好方式,我有这个jquery脚本,当用户单击登录链接时,它会 append html表单来执行此操作,效果很好,但 append 的(登录表单)使用jquery登录网站,但它似乎检测不到javascript,
相反,当我将登录表单放在不 append 的情况下,通常在页面上,它工作正常,它检测到 JavaScript,但在 append 时则不会。
我希望你明白我刚才所说的,谢谢:))
代码有点长,但出于说明目的我将其缩短了。
最佳答案
这是因为当脚本首次运行时,通常 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/