DisplayName Dialog

by Christian Mueller

HTML

<div>
  DisplayName: 
  <span class="example2 displaynameHover" data-tool-tip="Das ist mein Tooltip!">
    <span class="inputbox" contenteditable="true" id="edit_input_fake">Hans Wurst</span>
    <span class="trailing">External</span>
  </span>
</div>

CSS

.displaynameHover:before { 
  content: "";
  position: absolute;
  right: 700px;
  margin-top: 4px;
  opacity: 0.85;
  width: 0; height: 0;
  border-bottom: 8px solid #8bbf0f;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  display:none;
  -webkit-transition: all 0.4s ease;
  -moz-transition   : all 0.4s ease;
  transition   : all 0.4s ease;
}

.displaynameHover:after {
    content: attr(data-tool-tip);
    position: absolute;
    right: 400px;
    width: 400px;
    background: #8bbf0f;
    padding: 5px 5px;
    color: black;
    margin-top: 12px;
    opacity: 0.85;
    -webkit-border-radius: 5px;
    -moz-border-radius   : 5px;
    border-radius        : 5px;
    white-space: wrap;
    display:none;
    -webkit-transition: all 0.4s ease;
    -moz-transition   : all 0.4s ease;
    transition   : all 0.4s ease;
    font-size: 14px;

}

.displaynameHover:hover:after, .displaynameHover:hover:before {
    display:block;
}

span.inputbox {
    width: auto;
    outline: none;
}

span.trailing {
    color: black;
    background-color: lightgrey;
    -moz-border-radius:5px 5px 5px 5px;
    border-radius:5px 5px 5px 5px;
    padding:1px;
}

span.trailing-color {
    color: white;
    background-color: black;
    transition: all 0.5s ease;
    padding:3px;
}

.example2 {
  border: 2px solid darkgrey;
  padding:3px;
}

JavaScript

var oldValue = $("#displayName").val();
$("input").keyup(function() {
    if(this.value.indexOf('External') == -1) {
        this.value = oldValue;
    } else {
    	oldValue = $("#displayName").val();
    }
});

$('div').on('click', function () {
    $('#edit_input_fake').focus();
});

$('.example2').on('mouseover', function() {
	$('span.trailing').addClass('trailing-color');
}).on('mouseout', function() {
  $('span.trailing').removeClass('trailing-color');
});