jquery keyup无法正常工作

时间:2012-09-05 21:25:11

标签: javascript jquery

出于某种原因,当我向各种输入添加一个类(在用户按下提交后)时,此函数不记录在这些输入中进行的按键。我必须做一些根本错误的事情,因为我已经尝试了$('incomplete_required').keyup(){}以及下面的内容,因为看起来.on()更现代......

$(document).ready(function(){
    $('.incomplete_required').on("keyup", function(){
        console.log('keyed');
    });
});

我在这里做错了什么?

谢谢

3 个答案:

答案 0 :(得分:26)

如果要动态更改dom中的元素 - 最好将事件委托给dom中的现有父级

$(document).ready(function(){
    $('body').on("keyup",'.incomplete_required', function(){
        console.log('keyed');
    });
});

显然将body替换为dom ready上最近的父元素

通过委托 - 事件将冒泡到“父”元素 - 这是处理事件的地方

答案 1 :(得分:2)

在提交之前看到这个有效我认为你正在丢失事件绑定,因为元素被重新渲染但是文档就绪事件没有再次触发。

此处可能需要动态绑定解决方案:

$(document).ready(function(){
    $(document).on('keyup', '.incomplete_required', function(){
        console.log('keyed');
    });
});​

请注意,document非常远,所以最接近的静态元素会更好。

答案 2 :(得分:0)

改为绑定到“按键”事件。

修改:http://jsfiddle.net/RRgvU/

相关问题