相对于处理程序事件的按键事件

Relative keypress event to the handler event

本文关键字:事件 相对于 程序 处理      更新时间:2023-09-26

我正在创建一个表内的评论系统。每行可以包含注释和用于添加新注释的文本框。这个选项是在点击评论图标后创建的。(第一个事件处理程序)

我试图通过按回车键(以及使用"保存"按钮)来允许发表评论,但我遇到了keypress事件的问题。

仅在第一个click事件时触发。

这是我的问题:http://jsfiddle.net/imac/9mx7K/9/

可以看到,它只在第一个click事件时触发。我希望它只对当前选择/活动输入触发。有可能吗?

我也试过在输入click事件中添加keypress事件而没有成功:http://jsfiddle.net/imac/9mx7K/10/

谢谢。

我刚刚做了一个更新,工作提琴:http://jsfiddle.net/9mx7K/14/

$('.demo').on('click', function (e) {
$(this).next('input')
       .slideToggle()
       .data('cont', 0)
       .on('keydown', function (e) {
           $(this).data('cont', $(this).data('cont')+1);
           if (e.which == 13) {
                $(this).next('span')
                       .html('Active input ('+$(this).data('cont')+' enters)');
           }
       });
});

使用.data()跟踪每个单独输入的计数。

$('input').click(function(){
       $('input').keypress(function(e) {
            cont++;
            //on enter
            if(e.which == 13) {
                $(this).next().html('Active input ('+cont + ' enters)');
            }
           // This only enables the first input
           e.unbind();
        });
    });

看到演示