Javascript 在执行其后的事件后调用Jquery DOM事件
我在chrome中面临一个非常奇怪的问题 我的代码是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中运行良好。异步函数按外观顺序启动,但按完成时间顺序返回。对于那
$('#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的回复。谢谢你的旁注,但它是唯一的样本,我在实际代码中没有做过类似的事情。谢谢你的回复。感谢您的旁注,但它是唯一的示例,我在实际代码中没有做过类似的事情。