Trigger ('click')在href中没有实际链接的锚上不起作用(在href属性中的js函数)

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

本文关键字:href 不起作用 属性 函数 js Trigger click 链接      更新时间:2023-09-26

我有一些链接来确认评论

<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

但是点击部分不工作,它应该触发confirm_ajax函数…firebug ....中没有错误如果我点击按钮,它们可以正常工作

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);
});