[英]Why doesn't this work on Firefox?
我有以下代码,但只能在Internet Explorer中使用它-在Firefox中不起作用:
var max1box = document.getElementById('length'),
max2box = document.getElementById('width');
max1 = 100;
min1 = 20;
max2 = 200;
min2 = 10;
max1box.addEventListener('change',validateValues);
max2box.addEventListener('change',validateValues);
function validateValues() {
if (this == max1box && this.value > max1 && this.value > max2box.value)
{
max1box = max2box;
max2box = this;
}
if (max1box .value > max1) {
max1box .value = max1;
}
if (max1box .value < min1) {
max1box .value = min1;
}
if (max2box.value > max2) {
max2box.value = max2;
}
if (max2box.value < min2) {
max2box.value = min2;
}
}
Javascript代码根本无法使用。 好像我只有两个普通的文本框。
我已经在Firefox 3.6和Internet Explore 9中对其进行了测试。
在方法中
addEventListener
在firefox中,第三个参数是必需的,它是一个代表事件冒泡的布尔变量。
你可以试试
max1box.addEventListener('change',validateValues,false);
max2box.addEventListener('change',validateValues,false);
这是getElementById
实际上返回具有name
属性而不是id
..的表单元素的情况之一吗? 如果是这样,只需添加具有相同值的id
属性,然后重试...
您可以将布尔参数添加到addEventListener函数,如下所示:
max1box.addEventListener('change', validateValues, false);
布尔值,指示是在事件向目标节点传播时绑定事件(事件捕获),还是事件从目标冒泡向上绑定(事件冒泡)。 分别设置为true或false。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.