2017-04-16 46 views
2

我也在使用jQuery。我試圖調用一個方法keyPressEvent按下輸入按鈕。代碼有什麼問題在javascript中輸入關鍵事件

var AplOperations = function() { 
    // this function i want to call when an enter button is pressed 
    this.keyPressEvent = function() { 
     // my code goes here 
    } 
} 

var myOpr = new AplOperations(); 

document.onkeyup = myOpr.keyPressEvent(); 
+0

在'}'.'後面有逗號// this.keyPressEvent = function(){ //我的代碼在這裏 } **,** ' –

+0

已編輯。這不是問題 –

+0

@DipakDelvadiya,首先,功能本身並沒有啓動 –

回答

1

你必須等待keyup並在回調中執行你的東西。現在它在腳本執行時執行。

document.onkeyup = function() { 
     myOpr.keyPressEvent(); 
    } 

Updated Demo

+0

你能夠得到測試的警報?我無法在按下輸入時獲得警報。 –

+0

@SyedSha看,在小提琴中,如果完整的文檔,你不是所有者。你應該在輸出文件中。 –

+0

那麼我應該怎麼做才能在小提琴中進行測試。 Plz讓我知道。我希望這會在我的代碼中正常工作。我明天可以測試它。 –

2

你不需要myOpr.keyPressEvent()後,其他明智的功能將被中間執行。

工作例如:(點擊第一個面板爲重點)

var AplOperations = function() { 
 
     // this function i want to call when an enter button is pressed 
 
    
 
     this.keyPressEvent = function() { 
 
      // my code goes here 
 
      var elem = document.getElementById("test"); 
 
      elem.innerHTML += "key pressed<br>" 
 
     } 
 
    } 
 

 
    var myOpr = new AplOperations(); 
 

 
    document.onkeyup = myOpr.keyPressEvent;
<div id="test"></div>

+0

@感謝Julian。比ANS晚一點。 –

+0

確實是8秒。在發佈 – Julian

+0

@之前,必須輸入較少的內容。 –

1

此行是錯誤的:

document.onkeyup = myOpr.keyPressEvent();

使用括號馬上調用函數並將結果分配給onkeyup處理程序。如果你刪除括號,你的函數將被分配爲一個處理程序