如何访问功能

How to access function

本文关键字:功能 访问 何访问      更新时间:2023-09-26

我有这样的JavaScript代码:

<script>
function Foo() { alert('Foo'); }
$.post('file.php', {}, function(data) {
   $('#elem').append(data);
});
</script>
<div id="elem"></div>

示例数据

<script>Foo()</script>

当然,Foo()在那里是不可访问的。我怎样才能抓住它?

确保

  1. jQuery已加载
  2. #elem是在ajax调用返回时定义的。(尝试将其放在脚本之前,以确保(
  3. 确保函数foo没有在jquery $(function(){ //FOO should not be defined in here.. });的文档就绪方法中定义

示例位于http://jsfiddle.net/k7Y55/2/

foo应该是可访问的,如果它是在您调用它之前定义的。

此外,您应该使用分号; 终止函数调用

<script>
  function Foo() { 
    alert('Foo'); 
  }
</script>

<script>
  Foo();
</script>

try:

$.ajax({
  url: "test.html",
  dataType: "script",
  success: function(data){
    $('#elem').append(data);
  }
});

希望这能有所帮助。

如果使用append("<script>Foo()</script>"),则/会中断字符串。只需添加'字符,如下所示:append("<script>Foo()<'/script>")

是的,我知道这个字符串在您的情况下是ajax返回。所以,只需从服务器端返回"<script>Foo()<'/script>"即可。

看看这个Fiddle:http://jsfiddle.net/ErickPetru/qps2q/

简单答案。您需要设置这样的变量:var foo = function(){}

<script type="text/javascript">
var foo = function(data){
    alert(data);
}
$.post({
    url: 'someurl.aspx',
    success: function(data){
        foo(data);
    }
});
</script>