2010-08-29 8 views
5

Tôi mới để thiết kế web và javascript, và tôi không hiểu tại sao nó phổ biến cho các nhà thiết kế web để sử dụng void (0) cú pháp dưới đây:Tại sao nên sử dụng 'href = "javascript: void (0);"' thay vì thân thiện với người dùng hơn?

<a onclick="this.blur();return false;" href="javascript:void(0);" class="btn"> 

Vì đây thực sự thể hiện bản thân ở phía dưới góc trái của trình duyệt, tại sao không tìm ra cách làm cho người dùng thân thiện hơn? Có lẽ bởi vì các nhà thiết kế không có thời gian để thực hiện loại chỉnh sửa giao diện người dùng này.

Bạn sẽ đề xuất điều gì thay thế cho cú pháp trên sẽ hữu ích hơn cho người dùng cuối?

Trả lời

1

Nếu nó chỉ đơn giản là hữu ích cho người dùng cuối thì điều này có thể làm gì?

<a onclick="this.blur();return false;" href="#Click to hide" class="btn"> 

vì bạn đang trở về sai anyway nó thực sự có thể chứa bất cứ điều gì

<a onclick="this.blur();return false;" href="Click to hide" class="btn"> 

Tuy nhiên, tôi nghĩ rằng lý do cho nó là, nếu bạn có Javascript bị vô hiệu, nó sẽ thực sự không có hiệu lực, như trái ngược với viết một cái gì đó khác mà sẽ (ví dụ đầu tiên sẽ thay đổi băm/neo-một phần của url, thứ hai có thể sẽ dẫn đến một lỗi). Dù bằng cách nào họ vẫn sẽ trông buồn cười mặc dù (prepended với url gốc).

Sau đó, một lần nữa, nếu điều này chỉ hiển thị do javascript, tôi muốn nói tiếp tục và giả sử javascript có sẵn. Mặc dù tôi vẫn muốn sai lầm về mặt an toàn và sử dụng băm anyway ... :)

Sửa:
Tôi chỉ nhận ra không phải tất cả các trình duyệt hiển thị '#' một phần của a href trong thanh trạng thái (có trình duyệt nào làm điều đó không?), vì vậy tôi sẽ sử dụng javascript:void(0); hoặc chỉ đơn giản là # nếu bạn không sử dụng neo cho bất kỳ thứ gì và đặt thuộc tính tiêu đề thành mô tả thay thế.

Sửa:
Tôi nghĩ rằng tôi là một chút quá nhanh ... Tôi nghĩ rằng javascript:void thực sự là để tránh có bất kỳ tác dụng. Tuy nhiên, một giải pháp tốt hơn sẽ không sử dụng a -tags ở tất cả (tôi thường chỉ tát onclick vào bất cứ điều gì, thực sự tôi thường sử dụng jquery, và thêm nó vào một số lớp học hoặc ID sau đó).

8

Giải pháp lý tưởng là build on things that work.

Bài viết này thảo luận về tăng cường nâng cao tận dụng thư viện javascript Thư viện giao diện người dùng Yahoo để cải thiện khả năng truy cập các sự kiện tương tác mô phỏng javascript.

trích dẫn: Christian Heilmann

+1

Đồng ý, nhưng một bản tóm tắt các nội dung bên ngoài liên kết có thể hữu ích. –