2011-07-15 30 views
8

Trong HTML5, bạn có thể thêm thuộc tính draggable vào bất kỳ phần tử nào - nó hoạt động như checked; nó không đòi hỏi một giá trị. Nếu bạn muốn chỉ định giá trị (ví dụ: để biến XML hợp lệ), tôi nghĩ cú pháp chuẩn chính thức là checked="checked", nhưng những thứ khác cũng hoạt động (bao gồm checked=""checked="false", gây nhầm lẫn). Cách tiêu chuẩn để làm cho nó 'sai' là không bao gồm thuộc tính chút nào.Cách thích hợp để khai báo một thuộc tính là sai là gì?

<img> yếu tố có vẻ là 'có thể kéo' theo mặc định (ngay cả khi bạn không bao gồm thuộc tính draggable) - đó là lý do bạn nhận được hiệu ứng hình ảnh 'ma' khi bạn kéo hình ảnh thông thường trong các trang web. Bạn nhận được hiệu ứng tương tự trên các thành phần không phải là img nếu bạn đánh dấu chúng là draggable.

Vậy làm cách nào để tắt tính năng này trên img yếu tố? Bạn có thể đặt thuộc tính thành false trong JavaScript. Nhưng những gì về trong HTML?

(Từ thử nghiệm, tôi biết rằng draggable="false" dường như làm việc trong Chrome -? Là một cú pháp tiêu chuẩn mà làm việc ở khắp mọi nơi Nếu vậy, tại sao không checked="false" làm việc cùng một cách)

+2

@Closer: Làm thế nào trên trái đất là câu hỏi này off topic ??? – mplungjan

Trả lời

3

Hãy xem here (cuộn đến 'Thuộc tính toàn cầu' và nhấp vào draggable).

Tất cả các phần tử HTML có thể có thuộc tính nội dung có thể kéo. Thuộc tính kéo dài là thuộc tính được liệt kê. Nó có ba trạng thái. Trạng thái đầu tiên là đúng và nó có từ khóa đúng. Trạng thái thứ hai là sai và có từ khóa sai. Trạng thái thứ ba là tự động; nó có không có từ khóa nhưng đó là giá trị thiếu mặc định.

Trạng thái thực sự có nghĩa là phần tử có thể kéo được; trạng thái sai nghĩa là là không. Trạng thái tự động sử dụng hành vi mặc định của tác nhân người dùng .

Vì vậy, câu trả lời là: để vô hiệu hóa các thuộc tính có thể kéo cho một yếu tố HTML5, sử dụng draggable="false"

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