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

How to call an action after click() in Jquery?

本文关键字:调用 操作 单击 Jquery      更新时间:2023-09-26

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

下面是一个代码示例:

 $("#message_link").click(function(){
   if (some_conditions...){
       $("#header").append("<div><img alt='"Loader'"src='"/images/ajax-loader.gif'"  /></div>");
   }
 });

问题是if条件在点击操作完成之前执行(或者至少这是我的印象)。我需要在单击操作完成后执行If条件。有人能告诉我一个解决方案吗?

感谢:)

setTimeout可能有助于

$("#message_link").click(function(){
   setTimeout(function() {
       if (some_conditions...){
           $("#header").append("<div><img alt='"Loader'"src='"/images/ajax-loader.gif'"  /></div>");
       }
   }, 100);
});

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

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

$("#message_link").mouseup(function() {
    //Do stuff here
});

mouseup事件在释放鼠标按钮时触发,不考虑鼠标按钮是否在该元素上按下,而click同时考虑mousedownmouseup

然而,click应该可以正常工作,因为在释放鼠标按钮之前,它不会真正启动。

您可以在chain、等元素上编写事件

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

我用它来移除购物车物品。同一个对象,执行某个操作,然后执行另一个操作