2013-04-07 53 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

相关问题