2012-03-08 43 views
5

một phần của trang của tôi yêu cầu một số nhấp đúp, có tác dụng không mong muốn đôi khi người dùng vô tình làm nổi bật một số văn bản trên trang.Dừng văn bản HTML được tô sáng

Nó thực sự không thực sự, nhưng có cách nào ngăn chặn điều này xảy ra, ngoài việc sử dụng hình ảnh thay vì văn bản?

Cảm ơn

Trả lời

2

Như @arunes gợi ý, bạn có thể làm điều này với CSS cho hầu hết các trình duyệt. Tuy nhiên tôi đã đọc rằng điều này không làm việc với IE 6-8 (ít nhất). Vì vậy, cho rằng, bạn có thể cần một cái gì đó như:

document.getElementById("divDoubleClick").onselectstart = function() { return false; }; 
2

này làm việc cho tôi

Như đề nghị đưa các phong cách css trong

body, div 
{ 
    -webkit-touch-callout: none; 
    -webkit-user-select: none; 
    -khtml-user-select: none; 
    -moz-user-select: -moz-none; 
    -ms-user-select: none; 
    -o-user-select: none; 
    user-select: none; 
} 

cũng thêm những cho phép lựa chọn trong lĩnh vực hình thức

input, textarea, .userselecton 
{ 
    -webkit-touch-callout: text; 
    -webkit-user-select: text; 
    -khtml-user-select: text; 
    -moz-user-select: text; 
    -ms-user-select: text; 
    -o-user-select: text; 
    user-select: text; 
} 

Lưu ý rằng không cần các thứ -moz-none hoặc có thể bật lại cho đầu vào không hoạt động.

cho IE tôi thêm

<script type="text/javascript"> 
    window.addEvent("domready", function() 
    { 
     document.addEvent("selectstart", function(e) 
     { 
      if ((e.target.tagName == "INPUT") || 
      (e.target.tagName == "TEXTAREA") || 
       (e.target.hasClass("userselecton"))) 
      { 
       return true; 
      } 
      return false; 
     }); 
    }); 
</script> 

này không chỉ ngăn cản lựa chọn các nền văn bản nhưng cho phép lựa chọn trên inputfields và và yếu tố bạn đặt các lớp userseleton trên.

+0

Cảm ơn thông tin hữu ích! – CompanyDroneFromSector7G

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