我正在与一个既有的网络应用程序一起工作,在该应用程序中有各种不同表单上的提交按钮,有些使用常规的HTTP POST,有些定义了onClick函数,还有一些是使用元素上的类绑定了js事件处理程序。
我想做的是,通过向这些按钮添加一个类,将另一个事件处理程序绑定到这些按钮上,但我想确定的是,新的事件处理程序是否保证被执行,或者其中一个表单提交操作是否会在它之前发生,意味着我的新函数没有执行。
举个例子,我想给这些按钮添加一个类,将它们全部绑定到一个公共js函数上,该函数仅将使用情况记录到某个API中。是否存在风险,即由于表单提交导航离开页面而未调用日志函数?
我没有做过大量的js开发,我可以测试100次以上,并幸运地得到它的触发。
以下是我针对其中一个示例进行测试的一些代码 - 再次强调,我不是在询问如何绑定多个事件,问题是关于规范的理解以及是否保证执行所有处理程序。
$(document).ready(function(){
$('.testingBtn').click(function() {
window.location.replace("http://stackoverflow.com");
});
$( ".testingBtn" ).click(function(){
alert('submitting!');
});
});
<input class="testingBtn" type="submit" id="submitform" value="Complete Signup" />
如上所述,我可以绑定多个事件,在本例中仅指向另一个URL,但这可以是form.submit()
等等。在我的测试中,警报始终首先触发,但我只是在赛跑条件方面运气好吗?