Javascript 如何在Jquery中单击()后调用操作?

Javascript 如何在Jquery中单击()后调用操作?,javascript,jquery,Javascript,Jquery,我想在单击某个DOM元素后加载一个图像和一些其他操作,但我想在单击操作完成后加载它们 下面是一个代码示例: $("#message_link").click(function(){ if (some_conditions...){ $("#header").append("<div><img alt=\"Loader\"src=\"/images/ajax-loader.gif\" /></div>"); } }); $(“#

我想在单击某个DOM元素后加载一个图像和一些其他操作,但我想在单击操作完成后加载它们

下面是一个代码示例:

 $("#message_link").click(function(){
   if (some_conditions...){
       $("#header").append("<div><img alt=\"Loader\"src=\"/images/ajax-loader.gif\"  /></div>");
   }
 });
$(“#消息_链接”)。单击(函数(){
如果(某些条件…){
$(“#标题”)。附加(“”);
}
});
问题是if条件在单击操作完成之前执行(或者至少这是我的印象)。我需要在单击操作完成后执行If条件。有人能告诉我一个解决办法吗


谢谢:)

如果我正确理解了您的问题,那么您正在查找的是
mouseup
事件,而不是
click
事件:

$("#message_link").mouseup(function() {
    //Do stuff here
});
当释放鼠标按钮时,
mouseup
事件将触发,并且不考虑是否在该元素上按下了鼠标按钮,而
click
将同时考虑
mousedown
mouseup


但是,
单击应该可以正常工作,因为在松开鼠标按钮之前,它实际上不会启动。

设置超时
可能会有所帮助

$("#message_link").click(function(){
   setTimeout(function() {
       if (some_conditions...){
           $("#header").append("<div><img alt=\"Loader\"src=\"/images/ajax-loader.gif\"  /></div>");
       }
   }, 100);
});
$(“#消息_链接”)。单击(函数(){
setTimeout(函数(){
如果(某些条件…){
$(“#标题”)。附加(“”);
}
}, 100);
});

这将导致在单击事件发生后约100ms追加div,如果满足某些条件。

您可以在诸如chain、

$(element).on('click',function(){
   //action on click
}).on('mouseup',function(){
   //action on mouseup (just before click event)
});

我用它来移除购物车项目。同一个对象,正在执行一些操作,在另一个操作之后

您是否尝试了上述代码,以查看它是否执行了您希望它执行的操作?单击非常快。单击是否触发了需要在执行此操作之前完成的其他操作?事实上,“单击”操作是单击的操作。是的,我已经尝试过了,问题是“#选择器”是jquery验证表单中的提交按钮,因此在单击后会出现错误,我想在表单中没有错误的时候加载图像,所以它看起来像是一个加载图像,告诉我“我们正在处理您的表单,请耐心等待”。设置一个超时时间以在以后执行某个时间。这是正确的解决方案,在某些情况下,例如在表单提交中。这是一种黑客行为,但这是我找到为我工作的唯一方法。在URL中的哈希被更改后,我需要这个。点击太快,鼠标没有正确启动。谢谢能够像这样将调用链接到
。与
单击
mouseup
顺序依次发生无关。两个事件侦听器都只是附加到
$(元素)