Can';t在jQueryUI对话框上执行javascript函数

Can';t在jQueryUI对话框上执行javascript函数,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我有这个问题。我打开了我的jQueryUI对话框窗口,但是我需要调用一些额外的函数。关键是,对话框的内容是由AJAX加载的,我还需要使用AJAX加载任何其他内容(我在上面有一些列表,因为列表可能包含大量的项目,我需要将其拆分为页面,并将其拆分为较小的数据量),下面是我的代码: <script type="text/javascript"> $(function() { loadObjects(1); }); var loadObjects =

我有这个问题。我打开了我的jQueryUI对话框窗口,但是我需要调用一些额外的函数。关键是,对话框的内容是由AJAX加载的,我还需要使用AJAX加载任何其他内容(我在上面有一些列表,因为列表可能包含大量的项目,我需要将其拆分为页面,并将其拆分为较小的数据量),下面是我的代码:

<script type="text/javascript">
    $(function() {
        loadObjects(1);
    });
    var loadObjects = function(page) {
        // do something
    };
</script>

$(函数(){
装载物(1);
});
var loadObjects=函数(第页){
//做点什么
};
我的控制台一直在告诉我TypeError:“loadObjects”不是函数。但是,当我尝试不在jQueryUI对话框(而是在平面页面)中运行此代码时,显然没有问题

当我在谷歌上搜索这个错误时,我才发现jQuery可能是故意阻止任何JS代码的,因为IE浏览器出现了一些错误

有人能帮我吗


谢谢

首先放置loadObjects函数声明

<script type="text/javascript">
    var loadObjects = function(page) {
        // do something
    };
    $(function() {
        loadObjects(1);
    });
</script>

var loadObjects=函数(第页){
//做点什么
};
$(函数(){
装载物(1);
});

要避免这种情况,您可以(也可能应该)将
loadObjects()
的函数定义放在一个单独的JS文件中,然后在使用该文件之前将其包含在页面中。(当然,这方面的主要例外是当您无法在页面中加载JS文件时,或者当您需要动态生成函数定义时,以及其他罕见的情况。)

将loadObjects函数声明放在首位

<script type="text/javascript">
    var loadObjects = function(page) {
        // do something
    };
    $(function() {
        loadObjects(1);
    });
</script>

var loadObjects=函数(第页){
//做点什么
};
$(函数(){
装载物(1);
});
要避免这种情况,您可以(也可能应该)将
loadObjects()
的函数定义放在一个单独的JS文件中,然后在使用该文件之前将其包含在页面中。(当然,当您无法在页面中加载JS文件时,或者当您需要动态生成函数定义时,以及其他罕见的情况下,是这方面的主要例外。)

应该定义您的函数。一旦定义了它,就调用它


应该定义您的函数。一旦定义了它,就调用它。

使用jQuery对话框时,首先需要确保内容已加载。要实现这一点,可以在对话框初始化中使用处理程序:

$( ".selector" ).dialog({
  open: function( event, ui ) {
      var loadObjects = function(page) {
       // do something
      };
      $(function() {
        loadObjects(1);
      });
  }
});

使用jQuery对话框时,首先需要确保内容已加载。要实现这一点,可以在对话框初始化中使用处理程序:

$( ".selector" ).dialog({
  open: function( event, ui ) {
      var loadObjects = function(page) {
       // do something
      };
      $(function() {
        loadObjects(1);
      });
  }
});

非常感谢!完全有助于切换定义(首先定义函数loadObjects,然后定义jQuery$(function(){})。实际上,我不希望这些简单的JS函数放在单独的文件中。我有很多对话框的模式视图,单独的文件会有点混乱,同时保留所有内容。但是再次感谢!非常感谢!完全帮助切换定义(首先定义函数loadObjects,然后是jQuery$(function(){})。实际上,我不希望这些简单的JS函数放在单独的文件中。我有很多对话框的模式视图,单独的文件会有点混乱,同时保留所有的内容。但是再次感谢!谢谢,但事实上我不能这样做。我有很多对话框的模式视图,所以我会将此定义应用于所有视图。但无论如何,谢谢你!谢谢,但实际上我不能这么做。我有很多对话框的模态视图,所以我会将此定义应用于所有视图。但无论如何,谢谢!