将keyUp-event添加到表单对象

时间:2010-04-16 11:11:27

标签: javascript jquery parameter-passing

大家好,

我遇到了向某些输入字段添加浏览器事件的问题。我必须面对的挑战是,我的目标函数的一个参数是'event'变量,第二个参数是一个对象。

为了更好地理解一些代码:
HTML对象:

<div id="1_dateFieldAdvanced" class="xp set">
    <div id="1_dateFieldAdvanced_label" class="label">Birthday</div>
    <div id="1_dateFieldAdvanced_value" class="value date">
        <input class="day" name="dayOfBirth" value="66" maxlength="2" type="text">
        <input class="month" name="monthOfBirth" value="67" maxlength="2" type="text">
    <input class="year" name="yearOfBirth" value="" maxlength="4" type="text">
    </div>
</div>

目标方法的源代码如下:

function advancedDateFields(currentFieldAsObject, nextField, currentValueLength, ev){}

不幸的是HTML和Javascript代码是自动生成的,所以我无法重构代码。我的问题是,我怎样才能传递关键词'事件'和其他参数?我的尝试总是失败。 : - (

3 个答案:

答案 0 :(得分:0)

你可以调用函数onkeypress: 例如:

function(event) { customMethod(event, obj); }

我希望这有帮助..

答案 1 :(得分:0)

怎么样?
$("input:text","#dateFieldAdvanced_value").bind("keyup", function(e){
    var currentElem = $(this);
    var currentValLength = currentElem.val().length;
});

我不确定你对下一个领域的意思。

此外,您的ID无效。我不应该以数字开头。所以我将1_dateFieldAdvanced_value更改为dateFieldAdvanced_value

答案 2 :(得分:0)

function lookup(inputString) {
        if(inputString.length == 0) {
            // Hide the suggestion box.
            $('#suggestions').hide();
        } else { 
// Show the suggestion box.
            $('#suggestions').show();
}