使用jQuery将onclick函数动态分配给href

使用jQuery将onclick函数动态分配给href,jquery,anchor,Jquery,Anchor,我通过这个方法使用jQuery动态地创建一个锚 var risk_delete = $('<a />', { 'id' : 'delete_mitigator_'+increased_risk, 'name' : 'delete_mitigator[]', 'href' : 'java

我通过这个方法使用jQuery动态地创建一个锚

var risk_delete = $('<a />', {
                                'id'    : 'delete_mitigator_'+increased_risk,
                                'name'  : 'delete_mitigator[]',
                                'href'  : 'javascript:void(0)',
                                'text'  : ''
                });

如何在这段代码中分配onclick函数?

只需添加click处理程序

var risk_delete = $('<a />', {
    'id': 'delete_mitigator_' + increased_risk,
    'name': 'delete_mitigator[]',
    'href': 'javascript:void(0)',
    'text': ''
}).on('click', function() {
    //Your code
});

如果您已经创建了超链接,则只需使用.on delegate函数即可分配onclick事件处理程序:

var risk_delete = $('<a />', {
    'id'    : 'delete_mitigator_'+increased_risk,
    'name'  : 'delete_mitigator[]',
    'href'  : 'javascript:void(0)',
    'text'  : ''
});

我不能将它与名称和文本一起分配到参数中吗?通常,将javascript逻辑放在html标记中被认为是不好的做法。您希望将标记和业务逻辑分开。@Satpal,如果元素还没有附加到DOM中,您确定这会起作用吗?我的意思是,在将对象附加到dom之前尝试附加处理程序?@AmmarCSE,是的,它会的,这里是一个例子@Saswat,我不能在参数中指定它以及名称和文本吗?可以,但不推荐。一个例子
risk_delete.on( "click", function() {
  //Todo
});