簡體   English   中英

沒有href中的實際鏈接(href attrbute中的js函數),trigger('click')不適用於錨點

[英]trigger('click') doesn't work on anchors without an actuall link in the href ( js function in the href attrbute )

我有一些確認留言的鏈接

<a class="confirm_btn" href="javascript:confirm_ajax(17)" id="confirm_17">Confirm</a>
<a class="confirm_btn" href="javascript:confirm_ajax(20)" id="confirm_20">Confirm</a>

我希望能夠一次單擊一次確認所有消息,我知道最好將所有id放在一個數組中,並通過一個ajax調用將它們發送給后端腳本,但是出於某種原因,我寧願不這樣做並單擊每個按鈕。

這是我的jq代碼

function confirm_all(){
        $('.confirm_btn').each(function(index, element) {
                   $(this).trigger('click');
                  // also i've tried  $(this).click();
            console.log($(this).attr('id'));
        });
}

當我運行它時,我得到console.log結果

confirm_17
confirm_20
confirm_22
confirm_33
confirm_34

但是單擊部分不起作用,它應該觸發fireify_ajax函數...在螢火蟲中沒有錯誤....如果我單擊按鈕,它們就可以正常工作

trigger('click')將僅調用附加的事件處理程序; 如果您有JavaScript href ,則不會觸發它們。

您可以嘗試在鏈接上附加常規點擊處理程序,也可以執行以下操作:

var idFormat = /confirm_(\d+)/;
$('.confirm_btn').each(function() {
    var btn = $(this);
    var id = parseInt(idFormat.exec(btn.attr('id'))[1], 10);
    confirm_ajax(id);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM