在keyup上,知道它的元素

时间:2014-02-20 14:18:44

标签: javascript jquery

我想为两个ID做下一件事:targetingInputexcludeInput

当keyup,我想获得价值。

如果keyup在targetedInput中,则获取targetingInput的值,

如果keyup在excludeInput中,则获取excludeInput的值。

在下一个例子中,我处理第一个案例..

$('#targetingInput', '#excludeInput').live('keyup', function(e) {

    var value = document.getElementById('targetingInput').value;
}

任何帮助表示赞赏!

4 个答案:

答案 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事件的元素的值。