2012-10-04 56 views
0
function jackpotKey(event) 
    { 
    var value = this.value; 
    var key = event.keyCode; 

    if (value.match(/^\d{3}$/) !== null && key !== 8) 
    { 
     this.value = value + ','; 
    } 
    else if((value.match(/^\d{3},\d{3}$/)) !== null && key!== 8) 
    { 
     this.value = value + ','; 
    } 
    } 

我感到困惑如何使用this.valueevent.keyCode訪問傳遞給函數的對象的屬性事件對象。困惑的傳遞給函數

是不是this.valueevent.keyCode是同一個對象?如果是這樣,爲什麼不會event.valuethis.keyCode工作?

回答

0

不,這和事件不相同的對象 例如是文本框是對象和事件有一個人做按鍵比

-Textbox是指這個

壓制-The動作是指事件

這樣:

相關 - 參數到文本框,喜歡它的文本將在該對象可

-與按下哪個按鍵等動作相關的參數事件對象

=>請仔細閱讀以下內容並閱讀以下事件。如果你是新手,你必須閱讀。

About This

About Event

1

事件對象和this是兩個不同的對象。 this會引用觸發事件的DOMElement,事件對象事件。假設我們有

<input type="text" id="foo" value="bar"/> 
<script language="javascript" type="text/javascript"> 
    document.getElementById('foo').onkeyup = function(e)//event 
    { 
     console.log(e === this);//false 
     console.log((e.target || e.srcElement) === this);//true 
     console.log(e.value);//undefined 
     console.log(this.keyCode);//undefined 
     console.log(e);//;logs instance of KeyboardEvent 
     console.log(this);//logs input node 
    }; 
</script> 

只是check this fiddle並看看你的控制檯