如何在触发点击事件后执行警报

How to execute alert after trigger click event

本文关键字:事件 执行      更新时间:2023-09-26

我正在尝试在执行触发器事件后执行警报消息。我的代码:

 $(".addpage").trigger("click").queue(function () { 
  alert($(".page:first-child").attr("id")); 
 });

但这里的问题是警报在完成触发事件功能之前执行。我做错了什么?

使用.queue(回调),您将在元素用于元素效果(动画)的标准"fx"队列的末尾添加一个新函数。因此,如果.click()事件处理程序不包含任何元素动画,则.cqueue()回调将立即生效。

这里我已经为上述问题完成了完整的bin。请找到演示链接并查看。。

演示:http://codebins.com/bin/4ldqp7m

HTML

<ul id="pages">
  <li class="page" id="1">
    Page-1
  </li>
  <li class="page" id="2">
    Page-2
  </li>
  <li class="page" id="3">
    Page-3
  </li>
  <li class="page" id="4">
    Page-4
  </li>
</ul>

jQuery

$(function() {
    $(".addpage").click(function(e) {
        var newId = parseInt($("#pages li.page:last").attr('id')) + 1;
        $("#pages").append("<li class='page' id='" + (newId) + "'>Page-" + (newId) + "</li>");
    });
    $(".addpage").trigger('click');
    $(".addpage").queue(function() {
        alert("New Page with Id #" + $("#pages li.page:last").attr('id') + " has been added...!");
    });
});

CSS:

#pages{
  list-style:none;
  margin:5px;
  padding:2px;
  width:120px;
}
#pages li{
  border:1px solid #1A1A1A;
  width:120px;
  background:#4fdefd;
  text-align:center;
}
.addpage{
  background:#53a5f9;
  border:1px solid #1142fd;
}
.addpage:hover{
  background:#53cdfa;
}

演示:http://codebins.com/bin/4ldqp7m