2012-11-07 41 views
15

Tôi đang sử dụng Bootstrap cho dự án của mình. Trình giữ chỗ hiển thị tốt cho tất cả các trình duyệt ngoại trừ trong Internet Explorer 8 trở xuống.Trình giữ chỗ không hiển thị trong IE8 cho Bootstrap

Có giải pháp nào để nhận hỗ trợ trình giữ chỗ trong IE8 không?

+0

Trình giữ chỗ không được hỗ trợ trong IE, bạn phải sử dụng giá trị và đặt tiêu điểm/làm mờ, v.v ... bằng javascript. – adeneo

+4

Bạn có thể sử dụng ['placeholder' attribute polyfill] (https://github.com/jamesallardice/Placeholders.js) để thêm hỗ trợ cho thuộc tính' placeholder' trong tất cả các trình duyệt. IE không hỗ trợ nó bên dưới phiên bản 10. –

+0

bạn nên chấp nhận một trong các câu trả lời nếu họ giúp bạn – Eonasdan

Trả lời

1

IE9 và dưới đây không hỗ trợ thuộc tính placeholder. Xem this

Bạn có thể sử dụng EZPZ hints để bổ sung. Chỉ cần tải tập lệnh nếu trình duyệt là IE

<!--[if lt IE 10]> 
     <script src="PATHTOFILE"></script> 
    <![endif]--> 

Mẹo EZPZ cho phép bạn tiếp tục sử dụng placeholder cho trình duyệt hiện đại.

Ví dụ:

<input type="text" id="search" placeholder="Search" /> 

$("input[type=text]").ezpz_hint(); 
2

Nó should'nt được để khó có thể con số này ra mà không cần plugin, tôi đoán một cái gì đó gần với điều này sẽ làm các trick:

var test = document.createElement('input'); 
if (!('placeholder' in test)) { 
    $('input').each(function() { 
     if ($(this).attr('placeholder') != "" && this.value == "") { 
      $(this).val($(this).attr('placeholder')) 
        .css('color', 'grey') 
        .on({ 
         focus: function() { 
         if (this.value == $(this).attr('placeholder')) { 
          $(this).val("").css('color', '#000'); 
         } 
         }, 
         blur: function() { 
         if (this.value == "") { 
          $(this).val($(this).attr('placeholder')) 
            .css('color', 'grey'); 
         } 
         } 
        }); 
     } 
    }); 
} 
+0

IE bị treo trên ' nếu (! 'giữ chỗ' trong thử nghiệm) {' –

+1

@pinouchon - nó không làm gì cho tôi, nhưng tất cả những gì bạn phải làm nếu đó là một vấn đề, được quấn nó trong dấu ngoặc đơn và điều đó sẽ giải quyết nó. Thêm vào đó để trả lời là tốt. – adeneo

Các vấn đề liên quan