我正在动态设置元素(例如按钮)的ID。下面给出一个示例(该代码可能存在语法错误,我只是想解释我的问题)。

function myFunc(){
    var counter = 0;
    return function(){
        counter += 1;
        var rowContent = '<div>';
        rowContent += '<button type="button" class="btn btn-default" id="button"' + counter + '></button>';
        rowContent += '</div>';
        $('#someElement').append(rowContent);
    };
}


现在,我想将click事件与按钮相关联。在将事件与按钮关联时(例如$('#myID')),我需要提及ID元素。但是由于ID是动态设置的,因此我不确定ID可能是什么。有人可以告诉我与事件关联时如何引用该元素的动态设置ID吗?提前致谢!!

最佳答案

Delegate the event到父元素rowContent

$('#someElement').append(rowContent);
$('button', rowContent).on('click', function(e) {
    // button element in the 'rowContent' context
}


将它委派给#someElement也可以,除非您要在其中放置多个带有不同单击处理程序的按钮。

10-06 03:58