2012-04-24 24 views
19

Khi bạn có một phần tử đơn giản trong một trang và nhấp vào nó (giữ chuột trong khi nhấp để xem hiệu ứng) trong IE8/9 thì nút dịch chuyển xuống một chút và sang phải .Ngăn chặn <button> khi dịch chuyển trong khi nhấp trong IE

Tôi giả định đây là một phần của phong cách IE mặc định. Có cách nào để ngăn chặn hành vi này?

http://jsfiddle.net/tmcconechy/hqm59/

+2

này không thực sự khắc phục sự cố, theo ý kiến ​​của tôi, vì vậy tôi đăng như nhận xét. Xem http://stackoverflow.com/q/5466906/669611. Họ chỉ cần đi với các

+0

Không, Không phải là bộ ngắt giao dịch chắc chắn chỉ là một chi tiết nhỏ, vì nút thực của tôi có kiểu dáng nhấp chuột riêng của mình mà tôi muốn có và làm cho nó trông giống nhau trên các trình duyệt. Cảm ơn – Tim

Trả lời

1

Bạn có thể áp dụng một số kiểu cho nút. nút {lề: 0px; padding: 0px;}

+0

padding: 0; là tất cả những gì cần thiết để sửa chữa nó cho tôi trong Firefox – seantunwin

20

Bạn có thể ngừng các văn bản di chuyển trong nút IE:

button:active span, button:focus span { 
    position:relative; 
    top: 0; 
    left: 0; 
} 

<button><span>no move</span></button> 

http://jsfiddle.net/dQVA7/

+2

Chìa khóa ở đây là nhắm vào con cái của nút, chứ không phải chính nút đó. Điều này được ngụ ý, nhưng không được nêu rõ trong câu trả lời. Bạn cũng có thể áp dụng điều này cho các phần tử giả: 'nút: hoạt động :: trước', v.v. – gfullam

+1

@gfullam cảm ơn người đàn ông! Rằng thông tin kèm theo câu trả lời đã giúp tôi. – PourMeSomeCode

6

Đặt văn bản của bạn trên một <span>position:relative trong nó, nó sẽ sửa chữa.

button span{ 
    position: relative; 
} 

Không cần đầutrái nét.

-1

Nếu bạn không nhớ sử dụng JavaScript, rõ ràng này làm các trick:

$(document).on('mousedown', 'button, input[type="button"], input[type="submit"]', function(e) { 
    e.preventDefault(); 
}); 
Các vấn đề liên quan