0

テーブル内にコメント システムを作成しています。各行には、コメントと、新しいコメントを追加するためのテキスト ボックスを含めることができます。このオプションは、コメント アイコンをクリックした後に作成されます。(最初のイベント ハンドラ)

Enter キーを押して (および「保存」ボタンを使用して) コメントを投稿できるようにしようとしていますが、keypressイベントに問題があります。

最初のclickイベントでのみ発生します。

これが私の問題のフィドルです: http://jsfiddle.net/imac/9mx7K/9/

ご覧のとおり、最初のclickイベントでのみ発生します。現在選択されている/アクティブな入力に対してのみ起動したいと思います。それは可能でしょうか?

また、成功せず keypressに入力イベント内にイベントを追加しようとしました: http://jsfiddle.net/imac/9mx7K/10/click

ありがとう。

4

2 に答える 2

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 に答える
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 に答える