2011-06-24 105 views
0

我有這樣的代碼,但我只能得到它的互聯網工作探索 - 它不工作在Firefox:爲什麼不能在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; 
    } 
    } 

http://jsfiddle.net/gdau4/

的JavaScript代碼只是簡單地完全不工作。就好像我剛剛有兩個正常的文本框。

我已經在Firefox 3.6和Internet測試它瀏覽9

+0

您測試過哪個版本的Internet Explorer? – 2011-06-24 07:16:28

+2

請定義「不起作用」。 – deceze

+1

whats not about about –

回答

4

在方法

addEventListener 

第三個參數在Firefox中是必需的,它是事件bubling布爾變量的地位。
您可以嘗試

max1box.addEventListener('change',validateValues,false); 
max2box.addEventListener('change',validateValues,false); 
+0

工程就像一個魅力,歡呼隊友。 – Michael

0

這是一個在哪裏getElementById實際上是用name屬性返回一個表單元素的情況下,但不是id ..?如果是這樣,只需添加一個id屬性具有相同的值,然後再試一次......

0

你肥大布爾變量增加對addEventListener的功能,如:

max1box.addEventListener('change', validateValues, false); 

布爾指示是否因爲它是朝着目標節點propogating綁定事件,(事件捕獲),或者當事件從目標(事件泡泡)向上冒泡時。分別設置爲true或false。

Read more about window methods

相關問題