以下是我的JavaScript(mootools)代码:
$('orderNowForm').addEvent('submit', function (event) {
event.preventDefault();
allFilled = false;
$$(".required").each(function (inp) {
if (inp.getValue() != '') {
allFilled = true;
}
});
if (!allFilled) {
$$(".errormsg").setStyle('display', '');
return;
} else {
$$('.defaultText').each(function (input) {
if (input.getValue() == input.getAttribute('title')) {
input.setAttribute('value', '');
}
});
}
this.send({
onSuccess: function () {
$('page_1_table').setStyle('display', 'none');
$('page_2_table').setStyle('display', 'none');
$('page_3_table').setStyle('display', '');
}
});
});
在除IE之外的所有浏览器中,这都可以正常工作。但是在IE中,这会导致错误。我有IE8,因此在使用其JavaScript调试器时,我发现该event
对象没有preventDefault
导致错误的方法,因此正在提交表单。在Firefox(我使用Firebug发现)的情况下支持该方法。
有帮助吗?
在IE中,您可以使用
event.returnValue = false;
达到相同的结果。
为了不出错,您可以测试一下preventDefault的存在:
if(event.preventDefault) event.preventDefault();
您可以将两者结合使用:
event.preventDefault ? event.preventDefault() : (event.returnValue = false);
问题内容: 这行不通,什么也没发生。我如何使其工作,我在做什么错? 问题答案: 问题在于,由于您使用事件处理程序的content属性,因此您的全局函数… 被…遮盖 …这是最近在Web Animations中引入的: 5.21接口扩展 由于DOM元素可能是动画的目标,因此Element 接口[ DOM4 ]扩展如下: 这允许以下类型的用法。 在获取事件处理程序的当前值的[步骤10]中说明了此行为:
问题内容: 由于某种原因,似乎响应JS无法正常工作。我正在IE 8中使用媒体查询来更改各种大小的监视器的背景图像。在IE 8中,没有背景,只有纯色。 代码如下: 媒体查询如下所示: 上面的代码在IE 8中无法工作是有原因的吗?我还应该尝试使用另一个JS来使IE 8 Media Queries工作吗? 注意:看来html5-shiv确实有效。我正在实时Web服务器上进行测试。 问题答案: 同样的问题
问题内容: 我有以下功能 但是 在ie7中不起作用,那我该怎么办!我想将光标放在输入中! 谢谢 更新 很好的解决方案,谢谢,但是现在在opera中不起作用:( 问题答案: 对于IE,您需要使用settimeout函数,因为它很懒,例如: 对于opera,这可能会有所帮助:如何在opera文本框上的所需索引中设置焦点
我有一些 在量角器中,我们搜索并找到元素,检查文本是否符合我们的期望,然后对该元素调用。测试在Chrome中运行良好,但在IE中就好像没有点击发生一样。破坏了测试。 IE 11是否支持点击
问题内容: 我试图在我的一个JavaScript程序中应用一个字符串。在Mozilla下它可以正常工作,但是当我在IE8中尝试时会显示错误。有人知道这是怎么回事吗?无论如何,我可以使其在IE中工作吗? 码: 错误显示: 问题答案: 添加以下代码以向字符串添加修剪功能。
问题内容: 以下代码从文件加载html内容我使用了该线程 请让我知道问题是什么?我希望这是愚蠢的:) 编辑:正确的代码 谢谢乔恩和大家! 问题答案: callback()函数在响应到达时运行,并且不在方法范围内运行,因为该函数已经结束。 您可以在调用中使用属性来设置回调函数的上下文: