[英]Global function is undefinded in scope of html loaded using jquery .load()
我有 html :
<script src="/js/app.js"></script>
在 app.js 我有函数 foo:
function foo() { console.log("foo") }
然后我有 jquery 并使用它的方法 .load 加载外部 html 内容:
$("#modal-wrapper").load("/modal_dialog_ajax", function () {
// Some logic
});
/modal_dialog_ajax
输出如下所示:
<div>Some markup</div>
<script type="text/javascript">
foo();
</script>
Javascript 执行得很好,但在此 html 的范围内未定义foo()
调用。
为什么Js里面的ajax加载的html内容看不到页面上定义的全局函数?
使用 window 全局对象解决了这个问题:
function foo() { console.log("foo") }
window.foo = foo;
然后将其称为
window.foo();
但不确定这是一个好习惯。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.