强制脚本在AJAX加载页面中运行
所以我在我的WP安装上使用AJAX加载器,我加载的其中一个页面中有一个脚本。
$("#register-step-one").click(function() { $.ajax({ type: "POST", success: function() { $('#register-form').html("Test"); } }); return false; });
但问题是,当通过AJAX加载页面时,脚本不起作用。 然而,如果我刷新页面脚本工作。 显然,脚本不喜欢从AJAX调用运行。
有没有办法让脚本在通过AJAX调用加载时工作? 我知道我可以把脚本放到主页的页脚或者其他东西但是我希望我可以解决这个问题,因为我最终会在主页面中输入大量的脚本。
除此之外,您应该将函数包装在.ready()
以确保在对这些元素执行某些操作之前加载所有DOM元素
此外, 只有在DOM中附加HTML时,才会执行通过jQuery中的ajax函数返回的HTML中的脚本。 由于您没有附加包含代码的html,因此返回的内容中的脚本将不会运行。
看一下dataType
下的.ajax()
函数的参数
数据类型:
…
“html”:以纯文本forms返回HTML; 包含的脚本标记在插入DOM时进行评估。
…