2013-04-07 48 views
1

而不是使用有沒有更簡單的方法來使用jQuery調用這些函數?

<input value="" type=text id="DPRnumber" onkeydown="javascript:backspacerDOWN(this,event);" onkeyup="javascript:backspacerUP(this,event);"> 

是有更簡單的方法來調用使用jQuery這些功能呢?例如:

$('#DPRnumber').on('onkeydown', 'input', function(e) { ... I don't know ... 
+1

「我不知道你是否做過任何研究? – zerkms 2013-04-07 22:25:59

回答

1

您有正確的想法。將jQuery的.on()用於多個事件。

試試這個:

$('#DPRnumber').on({ 
    keydown: function(event) { 
    backspacerDOWN(this, event); 
    }, 
    keyup: function(event) { 
    backspacerDOWN(this, event); 
    } 
}); 

編輯

雖然我們不知道究竟你backspacerDOWN()功能是幹什麼的,如果你不希望使用this,則只需更換所有出現thisdocument.getElementById('DPRnumber')這樣的:

$('#DPRnumber').on({ 
    keydown: function(event) { 
    backspacerDOWN(document.getElementById('DPRnumber'), event); 
    }, 
    keyup: function(event) { 
    backspacerDOWN(document.getElementById('DPRnumber'), event); 
    } 
}); 
+0

爲什麼「這個」事件?對於id =「#DPRnumber」,不是「This」的另一個詞。我還在學習。 :) – JTJohnston 2013-04-07 22:40:24

+1

['this this](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/this)是Javascript(和編程)中的一個特殊關鍵字,它提供了對當前DOM的引用在這種情況下的對象。在我的回答中調用this''等同於'document.getElementById('DPRnumber')'。 – Aiias 2013-04-07 22:49:27

+0

@ user1022466只要小心。 jQuery可以改變你的'this',你可能不會期望它。 – 2013-04-07 22:54:35

相關問題