我有一个编码困难,以前在这个论坛上被问过:
Calling a JavaScript function returned from an Ajax response
但我没有找到令人满意的答案。为了更准确地说明我正在处理的问题,这里是详细信息:
我使用 jquery 动态加载文档(HTML 和 javascript)
var url = 'document.php';
$('#container').load(url);
document.php 的示例:
<form>
<input name="firstname"></input>
</form>
<script>
function dosomething()
{
console.log($('input[name=firstname]').val());
}
</script>
*dosomething() 函数是我稍后要调用的函数
然后我想调用那个 document.php 中的函数。由于我的要求,我不想在加载文档后调用该函数,而是稍后在需要时调用它。因为它是动态加载的,所以 DOM 无法识别函数。如何正确调用该函数?
谢谢
最佳答案
the DOM doesn't recognize the functions
这听起来像是您的其他函数被包装在远程页面的 $(document).ready()
中。如果是这种情况,它们超出了您从主页中的代码调用它们的范围,您需要将它们移出 ready
处理程序以使它们可以全局访问。
编辑:其他可能性
head中的Script标签-在html之后移动到body,或者在ajax回调中使用$.getScript获取
关于javascript - 如何调用从ajax新添加的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11181203/