如何在JavaScript中取消按钮单击事件?
我尝试了两种不同的方法:如何在JavaScript中取消按钮单击事件?,javascript,jquery,Javascript,Jquery,我尝试了两种不同的方法: $(document).ready(function() { $('input[type=button]').on('click', function(evt){ if ($(this).val() == 'Close') return true; var totalHours = 999; // here I am computing a total number of hours but that is i
$(document).ready(function()
{
$('input[type=button]').on('click', function(evt){
if ($(this).val() == 'Close')
return true;
var totalHours = 999; // here I am computing a total number of hours but that is irrelevant to my question
var reportedTotalHours = parseFloat($("#TotalHours").text());
var difference = Math.abs(totalHours - reportedTotalHours);
if (difference >= 0.25) // discrepancy must be less than a quarter hour
{
alert("Total of hours for each activity must equal " + reportedTotalHours + ".");
evt.preventDefault();
return false;
}
return true;
});
});
返回false
应该取消按钮单击,正如evt.preventDefault()一样代码>,但它们都不适合我。单击按钮时发生的情况是表单已提交,但我想阻止表单提交,直到小时数差异小于0.25。尝试将输入[type=button]更改为按钮标记。然后在条件合适时在onclick回调中提交表单
在某些浏览器中,如果没有input[type=submit]元素,input[type=button]元素将提交表单。您确定这是提交表单的按钮吗type=“button”
通常不提交表单。通常是type=“submit”
…如果要阻止表单提交,请改为针对表单的submit
事件。这样,您就可以执行preventDefault()
来停止表单提交;我也有一个问题!至于按钮,是的,它确实是type='button'
;我不知道为什么。它在提交表单的onclick
事件中附加了一个脚本。谁知道呢……我可以将按钮更改为type='submit
”,但它是动态生成的,我不确定这是否会破坏其他页面……jquery过度使用的典型案例。试试这个整洁的新图书馆吧