Can';t在jQueryUI对话框上执行javascript函数
我有这个问题。我打开了我的jQueryUI对话框窗口,但是我需要调用一些额外的函数。关键是,对话框的内容是由AJAX加载的,我还需要使用AJAX加载任何其他内容(我在上面有一些列表,因为列表可能包含大量的项目,我需要将其拆分为页面,并将其拆分为较小的数据量),下面是我的代码:Can';t在jQueryUI对话框上执行javascript函数,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我有这个问题。我打开了我的jQueryUI对话框窗口,但是我需要调用一些额外的函数。关键是,对话框的内容是由AJAX加载的,我还需要使用AJAX加载任何其他内容(我在上面有一些列表,因为列表可能包含大量的项目,我需要将其拆分为页面,并将其拆分为较小的数据量),下面是我的代码: <script type="text/javascript"> $(function() { loadObjects(1); }); var loadObjects =
<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函数放在单独的文件中。我有很多对话框的模式视图,单独的文件会有点混乱,同时保留所有的内容。但是再次感谢!谢谢,但事实上我不能这样做。我有很多对话框的模式视图,所以我会将此定义应用于所有视图。但无论如何,谢谢你!谢谢,但实际上我不能这么做。我有很多对话框的模态视图,所以我会将此定义应用于所有视图。但无论如何,谢谢!