【发布时间】:2018-01-30 17:06:11
【问题描述】:
我们使用 preventDefault 方法是否重要? (就在函数的开头与结尾)。我看过的所有教程都将 preventDefault 放在函数的末尾,但我认为您要做的第一件事就是阻止默认行为。我注意到如果它在函数的开头并且它在函数的最后工作,它可以工作:
function calculateResults(e){
e.preventDefault();
//UI Vars
const amount = document.querySelector(`#amount`);
const interest = document.querySelector(`#interest`);
const years = document.querySelector(`#years`);
const monthlyPayment = document.querySelector(`#monthly-payment`);
const totalPayment = document.querySelector(`#total-payment`);
const totalInterest =document.querySelector(`#total-interest`);
const princapal = parseFloat(amount.value);
const calculatedInterest = parseFloat(interest.value)/100/12;
const calculatedPayment = parseFloat(years.value) * 12;
// compute monthly payments
const x = Math.pow(1 + calculatedInterest, calculatedPayment);
}
VS
function calculateResults(e){
//UI Vars
const amount = document.querySelector(`#amount`);
const interest = document.querySelector(`#interest`);
const years = document.querySelector(`#years`);
const monthlyPayment = document.querySelector(`#monthly-payment`);
const totalPayment = document.querySelector(`#total-payment`);
const totalInterest =document.querySelector(`#total-interest`);
const princapal = parseFloat(amount.value);
const calculatedInterest = parseFloat(interest.value)/100/12;
const calculatedPayment = parseFloat(years.value) * 12;
// compute monthly payments
const x = Math.pow(1 + calculatedInterest, calculatedPayment);
e.preventDefault();
}
我想我主要关心的是,如果我在函数中有很多事情要做,浏览器是否有可能在最终阻止默认之前执行其默认行为?或者它会在尝试执行其默认行为之前等待执行函数中的所有操作吗?
【问题讨论】:
标签: javascript methods preventdefault