我想避免在事件处理程序中的几个回调中重复相同的代码块,你知道这是非常自然的。但问题是如果我将代码放在一个函数中,处理程序将立即执行它而不是在事件发生时。
例如:
$('#btn1').click(function (){
// do something
// same block of code
sharedCode(); // PROBLEM: it will be executed right away
}
$('#btn2').click(function (){
// do something else
// same block of code
}
$('#btn3').click(function (){
// do something else
// same block of code
}
function sharedCode() {
// same block of code
}
答案 0 :(得分:0)
创建一个函数并在&你想要的地方。
function myBlock(){
//Your logic here
}
$('#btn1').click(function (){
// do something
myBlock(); // same block of code
sharedCode(); // PROBLEM: it will be executed right away
}
$('#btn2').click(function (){
// do something else
myBlock(); // same block of code
}
$('#btn3').click(function (){
// do something else
myBlock(); // same block of code
}
function sharedCode() {
myBlock(); // same block of code
}
希望这有帮助。