Cela fonctionne mais vous devez cliquer à nouveau dans la zone de texte pour le masquer. Bien que cela peut être réglé facilement:
<div id="divPop" style="z-index:500;position:absolute;display:none">
Hello World! This is Popup Div.
</div>
<input id="txt" type="text" value="" width="200px" height="50px"
style="border:2px solid #ffeeee;color:#eeeeff;background-color:#aaeeaa"/>
<script type="text/javascript">
$(document).ready(function() {
$("#txt").popupDiv("#divPop");
});
</script>
jQuery.fn.popupDiv = function (divToPop) {
var pos=$(this).offset();
var h=$(this).height();
var w=$(this).width();
$(divToPop).css({ left: pos.left + w + 10, top: pos.top + h + 10 });
$(this).click(function(e) {
$(divToPop).css({ left: pos.left + w + 10, top: pos.top + h + 10 });
if ($(divToPop).css('display') !== 'none') {
$(divToPop).hide();
}
else {
$(divToPop).show();
}
});
};
wow, merci beaucoup –
Notez que vous pouvez utiliser $ (divToPop) .toggle() pour basculer si l'élément est caché à la place de votre if/else. Un peu plus propre et (probablement) moins cassant. – RecursivelyIronic