我今天有一个大脑放屁或其他东西,因为当我设置一个on('click')
事件时,它就像被点击一样被触发。
var myJsFunctions = {
confirmDelete: function (index) {
$('#deleteRecipient').modal('show');
$('#confirmRecipientDeletion').on('click',myJsFunctions.deleteRecipient(index));
},
deleteRecipient: function (index) {
$('#deleteRecipient').modal('hide');
$('#recipientIsDeleted_' + index).val(true);
$('#recipient_' + index).hide();
}
}
但是当我点击触发confirmDelete
的按钮时,它也会一直运行myJsFunctions.deleteRecipient
。
答案 0 :(得分:5)
这是因为您实际调用了函数并且从return
语句作为处理函数执行结果传递。
你应该传递函数处理程序:
$('#confirmRecipientDeletion').on('click', function() {
myJsFunctions.deleteRecipient(index);
});
答案 1 :(得分:0)
您在单击jquery语法时犯了错误。 像这样改变你的代码:
var myJsFunctions = {
confirmDelete: function (index) {
$('#deleteRecipient').modal('show');
$('#confirmRecipientDeletion').on('click',function(){
myJsFunctions.deleteRecipient(index);
});
},
deleteRecipient: function (index) {
$('#deleteRecipient').modal('hide');
$('#recipientIsDeleted_' + index).val(true);
$('#recipient_' + index).hide();
}
}