Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在执行其后的事件后调用Jquery DOM事件_Javascript_Jquery - Fatal编程技术网

Javascript 在执行其后的事件后调用Jquery DOM事件

Javascript 在执行其后的事件后调用Jquery DOM事件,javascript,jquery,Javascript,Jquery,我在chrome中面临一个非常奇怪的问题 我的代码是 $('#import').text("Importing..."); $('#import img').removeClass("hidden"); Server.postService("tests", row_datas, function(data) { // some stuff here }); 执行post操作后,将删除文本和隐藏类。 代码在firefox中运行良好。异步函数按外观顺序启动,但按完成时间顺序返回。对于那

我在chrome中面临一个非常奇怪的问题

我的代码是

$('#import').text("Importing...");
$('#import img').removeClass("hidden");

Server.postService("tests", row_datas, function(data) {
    // some stuff here
});
执行post操作后,将删除文本和隐藏类。
代码在firefox中运行良好。

异步函数按外观顺序启动,但按完成时间顺序返回。对于那些简单的
text
removeClass
方法来说,返回的速度比使用
Server
对象执行的任何操作都要慢,这是很奇怪的,但我认为这是可能的。如果需要在
postService
之前执行前两行,可以尝试jQuery。展示潜力,以及一些要检查的代码:

function firstThing (){
    var dfd = new jQuery.Deferred();
    $('#import').text("Importing...");    
    $('#import img').removeClass("hidden");
    dfd.resolve();
}

$.when( firstThing() ).then(
    function() {
        Server.postService("tests", row_datas, function(data) {
            // some stuff here
        });
    }
)
作为旁注,代码的逻辑是有问题的,通过设置
#import
文本,任何
img
隐藏的
类将不再存在,但这可能不是重点

更新

注意到您对我关于您使用ajax的评论的回应,我建议您阅读有关的内容,看看您正在做的事情可能会阻止事件,也可能不会阻止事件


我还建议阅读有关回调的内容,特别是
error
success
complete
(现在使用jQuery 1.8+、
fail
done
、以及
always
)。

异步函数按出现的顺序启动,但按完成的顺序返回。对于那些简单的
text
removeClass
方法来说,返回的速度比使用
Server
对象执行的任何操作都要慢,这是很奇怪的,但我认为这是可能的。如果需要在
postService
之前执行前两行,可以尝试jQuery。展示潜力,以及一些要检查的代码:

function firstThing (){
    var dfd = new jQuery.Deferred();
    $('#import').text("Importing...");    
    $('#import img').removeClass("hidden");
    dfd.resolve();
}

$.when( firstThing() ).then(
    function() {
        Server.postService("tests", row_datas, function(data) {
            // some stuff here
        });
    }
)
作为旁注,代码的逻辑是有问题的,通过设置
#import
文本,任何
img
隐藏的
类将不再存在,但这可能不是重点

更新

注意到您对我关于您使用ajax的评论的回应,我建议您阅读有关的内容,看看您正在做的事情可能会阻止事件,也可能不会阻止事件


我还建议阅读回调,特别是
错误
成功
,和
完成
(现在,使用jQuery 1.8+,
失败
完成
,和
始终
)。

唯一需要做的是

Server.async = true 

在服务器调用之前。

唯一需要的是

Server.async = true 

在服务器调用之前。

您是否有可能在
服务器中使用ajax
“东西”?您如何调用此代码?在类似的地方提供演示确实有助于深入了解问题。我猜
Server.postService()
是一种服务器端方法,对吗?浏览器在源代码中实际得到了什么?是的,我在服务器的东西中使用Ajax。你有没有可能在
服务器
的“东西”中使用Ajax?你怎么称呼这段代码?在这样的地方提供一个演示真的有助于深入了解这个问题。我猜
Server.postService()
是一种服务器端方法,对吗?浏览器在源代码中实际得到了什么?是的,我在服务器中使用Ajax。感谢crowjonah的回复。谢谢你的旁注,但它是唯一的样本,我在实际代码中没有做过类似的事情。谢谢你的回复。感谢您的旁注,但它是唯一的示例,我在实际代码中没有做过类似的事情。