0

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

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

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

这是我的问题的一个小提琴:http: //jsfiddle.net/imac/9mx7K/9/

如您所见,它仅针对第一个click事件触发。我希望它仅针对当前选定/活动输入触发。这有没有可能?

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

谢谢。

4

2 回答 2

1
$('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();
        });
    });

看演示

于 2013-05-23T11:24:03.480 回答
1

我刚刚做了一个更新,工作小提琴: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()

于 2013-05-23T11:19:26.323 回答