我試圖在執行觸發器事件後執行警報消息。我的代碼:如何在觸發器單擊事件後執行警報
$(".addpage").trigger("click").queue(function() {
alert($(".page:first-child").attr("id"));
});
但是,這裏的問題是在完成觸發事件函數之前執行警報。我在這裏做錯了什麼?
我試圖在執行觸發器事件後執行警報消息。我的代碼:如何在觸發器單擊事件後執行警報
$(".addpage").trigger("click").queue(function() {
alert($(".page:first-child").attr("id"));
});
但是,這裏的問題是在完成觸發事件函數之前執行警報。我在這裏做錯了什麼?
在這裏,我已經完成了上述問題的完整箱。請找演示鏈接,並檢查出來..
演示: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...!");
});
});
Ç SS:
#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;
}
使用.queue(回調函數),您將在用於元素效果(動畫)的元素的標準「fx」隊列的末尾添加一個新函數。因此,如果.click()事件處理程序不包含任何元素動畫,則.queue()回調將立即生效。
是什麼觸發了'click'處理呢?一些動畫或ajax?如果您可以編輯頁面源,那麼您的最佳解決方案就是其他地方。 –
你是否正在尋找像這樣的一個http://stackoverflow.com/questions/9026584/jquery-triggering-click-events-one-after-the-other –
你能告訴我們一個演示在jsfiddle.net –