Created
December 17, 2013 06:36
-
-
Save hachibeeDI/8000965 to your computer and use it in GitHub Desktop.
フォーカスがあたるとリセットされるinput。何もいじらなければ、直前の内容が保持される。 coffeeと、コンパイル後のjs両方を添付。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<title>aaaa</title> | |
<link rel="stylesheet" href="./css/main.css" type="text/css" media="screen" charset="utf-8"> | |
</head> | |
<body> | |
<input type="text" class="reset_onfocus" placeholder="aaaaaaaaa"> | |
<input type="text" class="reset_onfocus" placeholder="aaaaaaaab"> | |
<input type="text" class="reset_onfocus" placeholder="aaaaaaaac"> | |
<script src="./main.js" charset="utf-8"></script> | |
</body> | |
</html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict' | |
CLS_RESET = 'reset_onfocus' | |
# for IE | |
extract_target = (event) -> event.target or event.srcElement | |
reset_texts = (e) -> | |
self = extract_target(e) | |
if self.value == '' | |
return | |
value_holder = self.value | |
edited = false | |
self.value = '' | |
edit_detector = (_e) -> edited = true | |
settle_out = (_e) -> | |
_self = extract_target(_e) | |
if not edited | |
_self.value = value_holder | |
self.removeEventListener('change', edit_detector) | |
self.removeEventListener('blur', settle_out) | |
self.addEventListener('change', edit_detector) | |
self.addEventListener('blur', settle_out) | |
resetable_inputes = document.getElementsByClassName(CLS_RESET) | |
for inp in resetable_inputes | |
inp.addEventListener('focus', reset_texts) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Generated by CoffeeScript 1.6.3 | |
(function() { | |
'use strict'; | |
var CLS_RESET, extract_target, inp, reset_texts, resetable_inputes, _i, _len; | |
CLS_RESET = 'reset_onfocus'; | |
extract_target = function(event) { | |
return event.target || event.srcElement; | |
}; | |
reset_texts = function(e) { | |
var edit_detector, edited, self, settle_out, value_holder; | |
self = extract_target(e); | |
if (self.value === '') { | |
return; | |
} | |
value_holder = self.value; | |
edited = false; | |
self.value = ''; | |
edit_detector = function(_e) { | |
return edited = true; | |
}; | |
settle_out = function(_e) { | |
var _self; | |
_self = extract_target(_e); | |
if (!edited) { | |
_self.value = value_holder; | |
} | |
self.removeEventListener('change', edit_detector); | |
return self.removeEventListener('blur', settle_out); | |
}; | |
self.addEventListener('change', edit_detector); | |
return self.addEventListener('blur', settle_out); | |
}; | |
resetable_inputes = document.getElementsByClassName(CLS_RESET); | |
for (_i = 0, _len = resetable_inputes.length; _i < _len; _i++) { | |
inp = resetable_inputes[_i]; | |
inp.addEventListener('focus', reset_texts); | |
} | |
}).call(this); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment