Click to Not Edit

Prevents click-to-edit in JIRA (matches JIRA Cloud URLs by default)

2020-12-21 기준 버전입니다. 최신 버전을 확인하세요.

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name Click to Not Edit
// @match *://*.atlassian.net/*
// @version 0.0.1.20201221192427
// @namespace https://greasyfork.org/users/719533
// @description Prevents click-to-edit in JIRA (matches JIRA Cloud URLs by default)
// ==/UserScript==
//
// This is supposed to disable click-to-edit in Jira unless ctrl or cmd is held.

document.addEventListener('click',
  ((event)=>{
    if (event.cmdKey || event.ctrlKey){
      return;  // allow normal click-to-edit
    }
    var e = event.target;
    while (e != document){
      var aa = e.attributes;
      for (var i=0; i<aa.length; ++i){
        var a = aa[i];
        if(a.name=='role' && a.value=='presentation' && e.tagName!='SPAN'){
          // This is an attempt to cleanly match relevant elements (comments, description) despite class obfuscation.
          // Excluding <span> avoids inhibiting clicks on attach/link buttons.

          console.log("CLICKED TO NOT EDIT, hold ctrl/cmd if you really want the thing to happen");
          event.preventDefault(); event.stopPropagation(); return false;
        };
      }
      e = e.parentNode;
    }
  }),
  {capture: true})