在java脚本中输入密钥仅发送一次

时间:2017-06-16 13:29:49

标签: javascript jquery ruby-on-rails javascript-events

我有一个提交表单的代码,只要我们在文本区域按Enter键就可以了......但是代码只能运行一次。每当我再次按Enter键提交它都不起作用。

这是我的javascript代码

$('.comment_ta').on("keypress" , function(e){

    if (e.which == 13) {
       $(this).closest('form').submit();
    }

});

这里是表单和文本区域..代码在ruby n haml

=form_for( ([c,c.confessioncomments.build]), remote: true ) do |f|
        .cmnt
            =f.text_area :content class: "form-control comment_ta"
        =f.submit 'Comment'     , clasS:'btn btn-default cbtn'

现在它第一次运作良好,但每当我在提交后呈现新表单时,它都无法正常工作。

1 个答案:

答案 0 :(得分:3)

试一试:

$(document).on('keypress', '.comment_ta', function(e){

    if (e.which == 13) {
       $(this).closest('form').submit();
    }

});

我认为这是因为.comment_ta元素在DOM中被替换,这意味着.on事件侦听器将不再起作用。通过将事件侦听器应用于document,事件侦听器应该继续工作。