Jira 退出按钮行为

Jira escape button behaviour

我目前正在使用 Jira 并偶然发现了一个问题。如果在问题的浏览页面上编辑文本字段,按 escape 会放弃所有更改。对评论字段进行相同的编辑,不会丢弃对评论的更改。我真正想要的是,当按下退出键并失去对编辑字段内容的关注时,更改将被保存。如果您单击空白区域,也会发生同样的情况。

当然,我不是唯一一个在寻找这个问题的解决方案的人:

https://jira.atlassian.com/browse/JRA-36670

https://jira.atlassian.com/browse/JRA-41814

现在我不是在这里讨论退出按钮的含义。我希望的行为有几个原因(从阅读第一个 link 的评论开始)。

有什么方法可以编辑 jira 的 Keyevent 处理吗?或者覆盖标准字段的事件行为?通过浏览器插件或类似方式添加事件无济于事,因为内容已经丢失。

我希望有一些优雅的解决方案,因为我不是唯一在寻找解决方案的人。有什么建议吗?

我认为您不应该在按 Esc 键时保存编辑。按 esc 键中止操作非常直观。你会让你的用户感到困惑。他们会改变他们的问题,他们不想这样做。

此处讨论此行为: https://jira.atlassian.com/browse/JRA-36670

你说得对 - 按 Esc 键后评论会被保存,但这种行为可能很快就会改变:https://jira.atlassian.com/browse/JRA-41814

你能做什么:

  • 您可以编写自己的插件,并附加一个 javascript 事件 聆听您的问题观点。

  • 当您按 Esc 时,复制描述字段的内容。

  • 使用 JIRA rest 服务更新您从描述字段中复制的文本的问题。

    但正如我所说 - 这很混乱,你不应该这样做。

Athlassian 确实用 Esc-behavior 做到了。它耗费了人们的精力和金钱。 Esc 不应该保存任何东西恕我直言,但它至少应该为您提供找回丢失的工作的可能性。 Jira-Description 可能会变得非常大,如果你不保存,你就会失去脾气和资源。

虽然有一个很好的解决方法。我在 Jira-Development Jira 中找到它 :)

解决方法:

  1. 安装this extension
  2. 打开任何 JIRA 页面,单击工具栏中的 "CJS" 图标
  3. 粘贴此代码段

    document.addEventListener("keydown",function(e) { var charCode = e.charCode || e.keyCode || e.which; if (charCode == 27) { alert("Please do not press escape.") } }); document.addEventListener("keyup",function(e){ var charCode = e.charCode || e.keyCode || e.which; if (charCode == 27){ alert("Please do not press escape.") } });

现在每次按下退出键时您都会收到提醒,内容将被保留。