2015-12-30 103 views
1
  1. 如何在調整其中的textarea大小時調整div的大小?使用div調整文本區大小

  2. 如果我創建兩個或兩個以上的粘性,並使用ESC所有粘性將被關閉。如何設置ESC來關閉只有活動的彈出窗口?

  3. 頁面刷新時如何保持粘性?

我用這個代碼,以彈出便條:http://codepen.io/anon/pen/XXNBoz

<script type="text/javascript" src="https://code.jquery.com/jquery-1.7.2.js"></script> 
    <script type="text/javascript" src="https://code.jquery.com/ui/1.8.18/jquery-ui.js"></script> 
    <script> 

     $(document).ready(function(){ 
     function limitTextareaLine(e) { 
         if(e.keyCode == 13 && $(this).val().split("\n").length >= $(this).attr('rows')) { 
          return false; 
         } 
        } 
        $(function() { 
         $('textarea.limited').keydown(limitTextareaLine); 
        });  
        var x = "<div class='darkYellow'><div class='close'>X</div>Note<div class='lightYellow'><textarea maxlength='250' rows='8' cols='25' class='limited'></textarea></div></div>";  
        $('#click').click(function() { 
         $('#one').append('<div class="note">'+x+'</div>'); 
         $(".darkYellow").draggable(); 
         $('.close').each(function(){ 
          $('.close').click(function() { 
           $(this).parent().remove(); 
          }); 
         }); 
        }); 
        $('.darkYellow').live('click', function() { 
         $(this).addClass("index"); 
        }); 
        $('.darkYellow').live('blur', function() { 
         $(this).removeClass("index"); 
        }); 
      $(document).keyup(function(e) { 
       if (e.keyCode == 27) { 
        window.open(location, '_self', ''); 
        openedWindow.close(); 
       } 
      }); 
     }); 

enter image description here

+1

現在,我們所能做的是猜測,那麼請張貼最低工作的代碼片段,以獲得最佳的答案。 – LGSon

+0

我可以建議你爲你的可拖動'div'添加一個調整大小的函數,並讓'textarea'適應這個。這種方式即使瀏覽器沒有'textarea'調整大小句柄將可調整大小。 – LGSon

+0

這裏是新的實際工作代碼:http://codepen.io/anon/pen/XXNBoz – TheMan

回答

1

將固定寬度和高度更改爲最小寬度和最小高度,如下所示。

它應該自動調整大小。

*{ 
    margin:auto; 
    padding:0; 
} 

.darkYellow { 
    position:absolute; 
    background-color: #76B5F0; 
    min-width:200px; 
    min-height:150px; 
    font-size:12px; 
    text-indent:1px; 
    -webkit-box-shadow: 1px 1px 10px #888888; 
    cursor:move 
    } 

.lightYellow {  
    min-width:200px; 
    min-height:135px; 
    background-color: #8EC0EE; 
    margin-top:1px; 
} 

textarea { 
background-color: #8EC0EE;  
border: 0px; 
} 

.index { 
z-index: 55;  
} 

.close { 
width:7px; 
height:7px; 
padding:0; 
line-height:2pt; 
float:right; 
margin-top:6px; 
margin-right:4px; 
font-size:14px; 
cursor:pointer; 
} 

還使用了更新版本的JQuery,我已經更新了下面的小提琴。

https://jsfiddle.net/link2twenty/gLrmgqgz/10/

+0

非常感謝你!現在我必須嘗試找到解決方案,使一個「活着的會話」對於頁面刷新時的任何粘性。 – TheMan

0

在CSS設置父div的顯示屏顯示:表中應該解決的問題並在更改textarea的大小時調整它的大小。

編輯:至於轉義的事情(只是刷新,看到了),你可以使用document.activeElement或因爲你使用jQuery你可以做$(':焦點')。

編輯:把你的openWindow變量設置爲openWindow = $(':focus');,至於你添加的第三項你必須將活動粘貼保存在頁面的本地存儲中,並且每次更改粘貼處於活動狀態時更新它。這裏有localStorage的一些信息localstorage MDN

0

您可以捕捉使用jQuery

$("textarea").resizable({ 
    resize: function() { 
     //resize your div 
    } 
}); 

對於即時貼的調整大小調整大小事件:你怎麼定義變量openedWindow?

+0

我不知道:-( – TheMan