2012-04-25 38 views

Trả lời

4

NẾU bạn cần phải vượt qua một javascript đoạn mã mà cần phải chạy thay vì hành vi mặc định của một phần tử sau đó bạn sử dụng javascript: ; cú pháp này.

Ví dụ

<a href="javascript:alert('');">Test</a> <!-- Runs on the click of the link --> 

Tương tự, bạn có thể kết hợp những sự kiện khác cũng như onclick, onchange vv nhưng điều này thực sự không cần thiết, vì bạn có thể thực hiện các đoạn mã, trực tiếp.

Việc sử dụng điều này, tôi đã thấy trong những năm là:

  1. <a href="javascript:void(0);">Test</a>
  2. <form action="javascript:void(0);">..</form>
1

Điều đó một mình không có gì, nhưng thường javascript: trước một số mã JavaScript để cho biết rằng trình duyệt nên thực thi mã thay vì đối xử với thuộc tính href như một URL. Đó là nó.

1

javascript :; trong href cũng giống như đặt thứ gì đó trong thuộc tính "onclick".

Như vậy,

<a href="javascript:do_something();">Link</a> 

giống hệt

<a href="#" onclick="do_something();">Link</a> 

Tôi không chắc đó là tốt hơn để sử dụng khi nào, nhưng đáng nói là bạn có thể gõ những "liên kết" vào thanh địa chỉ của hầu hết các trình duyệt hiện đại và nó sẽ chạy.

sao chép và dán (hoặc gõ, chrome dường như cấm này.) Vào thanh địa chỉ của bạn

javascript:alert("test"); 

cũng như bạn có thể lưu các liên kết với các địa chỉ này vào bookmark để nó sẽ chạy mà kịch bản trên bất kỳ trang nào bạn nhấp vào dấu trang.

0

Điều này có thể được coi là tham chiếu không thực hiện gì khi được nhấp và có thể được đi kèm bằng cách đặt onclick vv để thực sự làm bất cứ điều gì.

cập nhật: Trong khi một số người nói rằng việc đặt một tập lệnh bằng href giống như đặt nó trong onclick, có một số khác biệt, như những gì xảy ra khi nhấp chuột phải (và một số tập lệnh chắc chắn sẽ không được mở trong tab mới hoặc). Tuy nhiên, ý kiến ​​của tôi về thực tế là nó có phần xấu xí, và không chỉ vì văn bản không rõ ràng trong thanh trạng thái khi di chuột qua liên kết.

-2

Bạn có thể tưởng tượng rằng khi ai đó sao chép "javascript :;" vào hộp url và nhấn Enter. Kể từ khi nó bắt đầu với "javascript:" trình duyệt sẽ biết để thực hiện những gì sau như javascript trong trang hiện tại. Vì tất cả những gì sau đây là một ";", không có gì sẽ xảy ra, thực sự. Điều đó cũng giống như việc nhấp vào nút có thuộc tính onClick được đặt thành ";".

Ví dụ:

<a href="javascript:alert('howdy!')">Click me!</a> 

có tác dụng tương tự mà

<button onClick="alert('howdy!')">Click me!</button> 

hoặc thậm chí

<a href="#" onClick="alert('howdy!')">Click me!</a> 

Hãy ghi nhớ rằng, vì đó là một liên kết, hầu hết các trình duyệt sẽ làm cho nó địa chỉ (trong trường hợp đó "javascript: alert ('howdy!')") trên thanh trạng thái và điều đó có thể không mong muốn (tôi thấy nó là một phần icularly xấu xí).

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