在java脚本中只输入一次只能发送一次作品
问题描述:
我有一个提交表单的代码,只要我们按下文本区域上的回车键......它可以工作,但代码只运行一次。每当我按下再次输入提交它不起作用。在java脚本中只输入一次只能发送一次作品
这里是我的javascript代码
$('.comment_ta').on("keypress" , function(e){
if (e.which == 13) {
$(this).closest('form').submit();
}
});
,这里是表格和文本区域..代码是红宝石ñ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'
现在它非常适用于第一次,但每当我提交之后呈现新表单不起作用。
答
给这一个镜头:
$(document).on('keypress', '.comment_ta', function(e){
if (e.which == 13) {
$(this).closest('form').submit();
}
});
我想这是因为.comment_ta
元素获得的DOM,这意味着.on
事件侦听器将不再工作所取代。通过将事件监听器应用于document
,事件监听器应该继续工作。
+1
不,它被本地化为'.comment_ta' – rorymorris89
+0
救生员....这工作..谢谢 –
表单提交时会发生什么? '.comment_ta'元素是否被销毁并重新添加? –
重新附加相同的类..所以它不应该是一个问题,我猜 –
是的,这是100%的问题,因为你只附加负载的事件处理程序。你需要使用一个委托事件处理程序代替 –