Clear Radio Button

When clicking on a selected radio button, this script will clear it

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// Clear Radio Button
// version 0.1 BETA!
// 2006-11-28
// by Jim Biancolo
//
// --------------------------------------------------------------------
//
// This is a Greasemonkey user script.
//
// To install, you need Greasemonkey: http://greasemonkey.mozdev.org/
// Then restart Firefox and revisit this script.
// Under Tools, there will be a new menu item to "Install User Script".
// Accept the default configuration and install.
//
// To uninstall, go to Tools/Manage User Scripts,
// select "Show Cell Headers", and click Uninstall.
//
// --------------------------------------------------------------------
//
// ==UserScript==
// @name          Clear Radio Button
// @version       0.1
// @namespace     http://www.biancolo.com
// @description   When clicking on a selected radio button, this script will clear it
// @include       *
// ==/UserScript==

(function() {

  var currRadioRef = null;
  var currRadioVal = null;

  function clearRadio(event) {
    var t = event.target;

    if (isRadio(t)) {
      if ((currRadioRef==t) && currRadioVal) {
        t.checked = false;
        currRadioRef = null;
      }
    }
  }

  function getRadioState(event) {
    var t = event.target;
    
    if (isRadio(t)) {
      currRadioRef = t;
      currRadioVal = t.checked;
    }
  }

  function isRadio(ctrl) {
    return (ctrl.tagName.toUpperCase() == "INPUT" && ctrl.type == "radio");
  }

  document.documentElement.addEventListener("mousedown", getRadioState, true);
  document.documentElement.addEventListener("click", clearRadio, true);

})();