我想为两个ID做下一件事:targetingInput
,excludeInput
:
当keyup,我想获得价值。
如果keyup在targetedInput中,则获取targetingInput的值,
如果keyup在excludeInput中,则获取excludeInput的值。
在下一个例子中,我处理第一个案例..
$('#targetingInput', '#excludeInput').live('keyup', function(e) {
var value = document.getElementById('targetingInput').value;
}
任何帮助表示赞赏!
答案 0 :(得分:1)
您需要this
$('#targetingInput, #excludeInput').live('keyup', function(e) {
var value = this.value;
//^ current element with event keyup
}
<小时/> 评论alexp
从jQuery 1.9开始,删除了.live()方法。使用.on()附加事件处理程序
答案 1 :(得分:1)
使用:
var value=this.value;
或
var value=$(this).val();
答案 2 :(得分:1)
你可能正在寻找e.currentTarget
。见https://api.jquery.com/event.currentTarget/
例如:
$('#targetingInput', '#excludeInput').live('keyup', function(e) {
var value = e.currentTarget.value;
});
您不应该使用$(e.currentTarget).value
,因为value是本机属性而不是jQuery属性。您也可以使用this.value
,如其他一些答案中所示,但如果您将this
绑定到其他某个对象,那么这将无效。
答案 3 :(得分:0)
您正在将活动e
传递给您的回调。 e.currentTarget
将是触发事件的元素。请参阅https://developer.mozilla.org/en-US/docs/Web/API/event.currentTarget。
了解这一点,$(e.currentTarget).val();
将返回触发keyup
事件的元素的值。