jquery on('click', function()) 意外触发
jquery on('click', function()) triggering unexpectedly
我今天脑子放屁什么的,因为当我设置一个 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
。
发生这种情况是因为您实际调用了您的函数,并且作为处理程序函数执行结果从 return
语句传递。
您应该改为传递函数处理程序:
$('#confirmRecipientDeletion').on('click', function() {
myJsFunctions.deleteRecipient(index);
});
您在单击 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();
}
}
我今天脑子放屁什么的,因为当我设置一个 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
。
发生这种情况是因为您实际调用了您的函数,并且作为处理程序函数执行结果从 return
语句传递。
您应该改为传递函数处理程序:
$('#confirmRecipientDeletion').on('click', function() {
myJsFunctions.deleteRecipient(index);
});
您在单击 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();
}
}