jquery中多个输入字段的keyup函数

时间:2015-01-21 11:09:13

标签: javascript jquery

好的我有多个输入文件的密钥,我的问题是因为我有两个电话,我只想要一个。因此,当插入代码时,只会发生一个动作。

$(":input").keyup(function() {
    if(is_draft_started == 0) {
        s2 = setInterval('draft("' + frm_name + '")', auto_save_time);
        is_draft_started = 1;
    }
});

但是当按下键时使用此选择器,我的函数草稿被调用两次,因为我有两个输入字段,是否有任何解决方案,只能工作一次,所以当我按下按钮一,一个调用存在?

2 个答案:

答案 0 :(得分:1)

无论您有两个输入字段,其中只有一个会触发一个事件。所以我想你还有其他一些问题,例如:为该字段附加两次相同的处理程序。 E.g:

HTML:

First input: <input type="text"></input><br/>
Second input: <input type="text"></input><br/>
Total number of calls: <span id="function_calls">0</span>

JS:

var funcCalls = 0;
$(":input").keyup(function() {
    $('#function_calls').text(++funcCalls);
});

Fiddle

答案 1 :(得分:0)

您可以使用ID或Classes指定应触发功能的输入。例如:

<input type="text" class="trigger"></input>
<input type="text" class="no_trigger"></input>
<input type="text" class="trigger"></input>

使用触发器

将功能应用于所有输入
$('input.trigger').keyup(function(){
    alert("called just once");
});

结帐this demo