Javascript 在div和textfield之间切换时触发事件
好的,我正在用Laravel构建一个应用程序,但我的问题是jQuery。我正在为一些帖子创建一个评论部分。添加注释效果很好。在每一篇文章下面,都会列出针对特定文章的所有评论。如果评论是由您做出的,则会显示编辑按钮。如果按“编辑”按钮,将发生以下情况:Javascript 在div和textfield之间切换时触发事件,javascript,jquery,html,css,Javascript,Jquery,Html,Css,好的,我正在用Laravel构建一个应用程序,但我的问题是jQuery。我正在为一些帖子创建一个评论部分。添加注释效果很好。在每一篇文章下面,都会列出针对特定文章的所有评论。如果评论是由您做出的,则会显示编辑按钮。如果按“编辑”按钮,将发生以下情况: 包含注释的p标记被替换为textarea(保持相同的内容/文本) 编辑按钮将文本更改为“保存”(而不是“编辑”) 该按钮还会更改某些类,从而更改样式 该按钮获得一个“保存模式”类 我试图使按钮具有保存模式类时,会触发一个事件,从而更新数据库中的
- 包含注释的p标记被替换为textarea(保持相同的内容/文本)
- 编辑按钮将文本更改为“保存”(而不是“编辑”)
- 该按钮还会更改某些类,从而更改样式
- 该按钮获得一个“保存模式”类
$(“#编辑保存btn”)。在('click',函数(e){
e、 预防默认值();
编辑评论($(本));
});
函数editComment(btn){
常量id=btn.attr('value');
const comment=btn.closest('.col-md-3').prev().find('.comment text');
const commentHTML=$.trim(comment.text());
if(btn.hasClass('save-mode')){
log(“这需要被触发”);
//updateComment(id,commentHTML);
返回;
}
btn.toggleClass(“保存模式”);
常量可编辑=$('').css({'width':'100%});
可编辑的.val(HTML);
注释.替换为(可编辑);
可编辑。focus();
btn.removeClass('btn-primary').addClass('btn-success').html('Lagre');
可编辑。模糊(可编辑文本模糊);
}
函数editableTextBlured(){
$(“#编辑保存btn”).removeClass('btn-success save mode').addClass('btn-primary').html('Rediger');
var text=$(this.val();
可视文本=$(“”);
html(文本);
$(this).replacetwith(可视文本);
$(可视文本)。单击(编辑评论);
}
评论
编辑
单击该按钮将触发textarea的模糊事件
在函数editabletextbulder
中,您删除了类save mode
,因此btn.hasClass('save-mode')
返回false
,无法触发save
是这样的:
模糊->删除类名保存模式->btn.hasClass('save-mode')->false,无法触发保存
希望它能对您有所帮助:)试试$(文档)。在(“单击”,“编辑保存bt”上,使用函数(e)而不是$(“编辑保存btn”)。在('click',函数(e){我希望这会有所不同,但我没有。