嘿伙计们,我正在尝试从我的 javascript 方法返回 false。它在 chrome 中工作正常,但当在 firefox 中执行相同的操作时,它被重定向到显示错误字符串的页面。
下面是我的代码
if(emptyCheck(form.corpId.value)){
alert("Please select Corporate of the traveler");
form.corpId.focus();
return false;
}
最佳答案
在事件处理程序中创建一个名为 event
或 evt
或其他名称的参数。
对其调用preventDefault()
:
document.getElementById('element').addEventListener('click', function(event) {
alert('this works');
evt.preventDefault();
}, false);
只有当您像这样附加事件时,返回false
才有效:
document.getElementById('element').onclick = function() {
alert('this works');
return false;
};
我前段时间在 stackoverflow 上了解到了这一点,我会给你找到原始帖子。
另一件事是:如果 javascript 抛出异常,它将通过 return false 失败,因此浏览器将执行默认行为。就像单击一个图标将导航到该位置一样。
打开javascript控制台,检查是否有异常抛出!
编辑:这是 Tim Down 的原始帖子:Returning false from click handler doesn't work in Firefox
关于javascript - 返回 false 在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16008551/