Liên kết đưa bạn đến một phần nhất định của trang, một trang khác của trang web hoặc một trang web khác hoàn toàn. Mặt khác, các nút thường được thao tác bởi các sự kiện JavaScript để chúng có thể kích hoạt một số chức năng nhất định
Trong hướng dẫn này, chúng ta sẽ khám phá hai cách khác nhau để thực hiện các sự kiện nhấp chuột trong JavaScript bằng hai phương thức khác nhau
Đầu tiên, chúng ta sẽ xem xét phong cách truyền thống của
freeCodeCamp
Change to Blue
4 mà bạn thực hiện ngay từ trang HTML. Sau đó, chúng ta sẽ xem cách hoạt động của "nhấp chuột" hiện đại hơn
freeCodeCamp
Change to Blue
5, cho phép bạn tách HTML khỏi JavaScriptCách sử dụng sự kiện
freeCodeCamp
Change to Blue
4 trong JavaScript
freeCodeCamp
Change to Blue
Sự kiện
freeCodeCamp
Change to Blue
4 thực thi một chức năng nhất định khi một nút được bấm. Điều này có thể xảy ra khi người dùng gửi biểu mẫu, khi bạn thay đổi nội dung nhất định trên trang web và những việc khác tương tựBạn đặt hàm JavaScript mà bạn muốn thực thi bên trong thẻ mở của nút
Cú pháp
freeCodeCamp
Change to Blue
4 cơ bản
freeCodeCamp
Change to Blue
Click
Ví dụ
Click
Lưu ý rằng thuộc tính
freeCodeCamp
Change to Blue
4 hoàn toàn là JavaScript. Giá trị nó nhận, là chức năng bạn muốn thực hiện, nói lên tất cả, vì nó được gọi ngay trong thẻ mởTrong JavaScript, bạn gọi một hàm bằng cách gọi tên của nó, sau đó bạn đặt dấu ngoặc đơn sau mã định danh hàm [tên]
Ví dụ về sự kiện
freeCodeCamp
Change to Blue
4
freeCodeCamp
Change to Blue
Tôi đã chuẩn bị một số HTML cơ bản với một chút phong cách để chúng ta có thể đưa sự kiện
freeCodeCamp
Change to Blue
4 vào thực tế
freeCodeCamp
Change to Blue
Và đây là CSS để làm cho nó đẹp mắt, cùng với tất cả phần còn lại của mã ví dụ
freeCodeCamp
Change to Blue
1Vì vậy, trên trang web, đây là những gì chúng ta có
Mục đích của chúng tôi là thay đổi màu của văn bản thành màu xanh lam khi chúng tôi nhấp vào nút. Vì vậy, chúng ta cần thêm thuộc tính
freeCodeCamp
Change to Blue
4 vào nút của mình, sau đó viết hàm JavaScript để thay đổi màu sắcVì vậy, chúng tôi cần thực hiện một thay đổi nhỏ trong HTML của mình
freeCodeCamp
Change to Blue
3Chức năng chúng tôi muốn thực hiện là
freeCodeCamp
Change to Blue
13. Vì vậy, chúng tôi cần viết nó trong tệp JavaScript hoặc trong tệp HTML bên trong thẻ
freeCodeCamp
Change to Blue
14Nếu bạn muốn viết tập lệnh của mình trong tệp JavaScript, bạn cần liên kết tập lệnh đó trong HTML bằng cú pháp bên dưới
freeCodeCamp
Change to Blue
6Nếu bạn muốn viết tập lệnh trong tệp HTML, chỉ cần đặt tập lệnh đó vào trong thẻ script
freeCodeCamp
Change to Blue
7Bây giờ, hãy viết hàm
freeCodeCamp
Change to Blue
13 của chúng taTrước hết, chúng ta cần chọn phần tử mà chúng ta muốn thao tác, đó là văn bản freeCodeCamp bên trong thẻ
freeCodeCamp
Change to Blue
16Trong JavaScript, bạn làm điều đó với các phương thức
freeCodeCamp
Change to Blue
17,
freeCodeCamp
Change to Blue
18 hoặc
freeCodeCamp
Change to Blue
19 của DOM. Sau đó, bạn lưu trữ giá trị trong một biếnTrong hướng dẫn này, tôi sẽ sử dụng
freeCodeCamp
Change to Blue
19 vì nó hiện đại hơn và nhanh hơn. Tôi cũng sẽ sử dụng
freeCodeCamp
Change to Blue
31 để khai báo các biến của chúng ta thay vì
freeCodeCamp
Change to Blue
32 và
freeCodeCamp
Change to Blue
33, bởi vì với
freeCodeCamp
Change to Blue
31, mọi thứ sẽ an toàn hơn khi biến trở thành chỉ đọc
freeCodeCamp
Change to Blue
8Bây giờ chúng ta đã chọn văn bản, hãy viết chức năng của chúng ta. Trong JavaScript, cú pháp hàm cơ bản trông như thế này
freeCodeCamp
Change to Blue
9Vì vậy, hãy viết chức năng của chúng tôi
freeCodeCamp
Change to Blue
0Điều gì đang xảy ra?
Hãy nhớ từ HTML rằng
freeCodeCamp
Change to Blue
13 là chức năng chúng ta sẽ thực hiện. Đó là lý do tại sao định danh hàm [tên] của chúng tôi được đặt thành
freeCodeCamp
Change to Blue
36. Nếu tên không tương quan với nội dung trong HTML, nó sẽ không hoạt độngTrong DOM [Mô hình đối tượng tài liệu, đề cập đến tất cả HTML], để thay đổi bất kỳ thứ gì liên quan đến kiểu dáng, bạn cần viết “kiểu dáng” sau đó là dấu chấm [. ]. Tiếp theo là những gì bạn muốn thay đổi, đó có thể là màu sắc, màu nền, cỡ chữ, v.v.
Vì vậy, bên trong hàm của chúng ta, chúng ta lấy biến tên mà chúng ta đã khai báo để lấy văn bản freeCodeCamp, sau đó chúng ta đổi màu thành màu xanh lam
Màu của văn bản của chúng tôi chuyển sang màu xanh lam bất cứ khi nào nhấp vào nút
Mã của chúng tôi đang hoạt động
Chúng ta có thể tiến xa hơn một chút bằng cách thay đổi văn bản của mình thành nhiều màu sắc hơn
Click
0Vì vậy, những gì chúng tôi muốn làm là thay đổi văn bản thành xanh dương, xanh lá cây và đỏ cam
Khoảng thời gian này, các hàm
freeCodeCamp
Change to Blue
4 trong HTML của chúng tôi lấy các giá trị của màu mà chúng tôi muốn thay đổi văn bản thành. Chúng được gọi là tham số trong JavaScript. Hàm chúng ta sẽ viết cũng có chức năng riêng, mà chúng ta sẽ gọi là “màu”Trang web của chúng tôi đã thay đổi một chút
Vì vậy, hãy chọn văn bản freeCodeCamp của chúng ta và viết hàm để thay đổi màu của nó thành xanh dương, xanh lá cây và đỏ cam
Click
1Khối mã trong hàm lấy biến tên [nơi chúng tôi lưu trữ văn bản freeCodeCamp của mình], sau đó đặt màu thành bất kỳ màu nào chúng tôi đã chuyển vào các hàm
freeCodeCamp
Change to Blue
13 trong các nút HTMLCách sử dụng nhấp chuột
freeCodeCamp
Change to Blue
39 trong JavaScript
freeCodeCamp
Change to Blue
Trong JavaScript, có nhiều cách để làm cùng một việc. Khi bản thân JavaScript phát triển theo thời gian, chúng tôi bắt đầu cần tách mã HTML, CSS và JavaScript để tuân thủ các phương pháp hay nhất
Trình xử lý sự kiện có thể thực hiện điều này vì chúng cho phép bạn tách JavaScript khỏi HTML. Bạn cũng có thể làm điều này với title, nhưng hãy thực hiện một cách tiếp cận khác tại đây
Cú pháp
freeCodeCamp
Change to Blue
39 cơ bản
freeCodeCamp
Change to Blue
Click
2Bây giờ, hãy thay đổi văn bản freeCodeCamp thành màu xanh lam bằng cách sử dụng trình nghe sự kiện nhấp chuột
Đây là HTML mới của chúng tôi
Click
3Và đây là những gì nó trông giống như
Lần này trong tập lệnh của chúng ta, chúng ta cũng cần chọn nút [không chỉ văn bản freeCodeCamp]. Đó là bởi vì không có JavaScript trong thẻ mở nút của chúng tôi, điều này thật tuyệt
Vì vậy, kịch bản của chúng tôi trông như thế này
Click
4Chúng tôi cũng có thể tách hoàn toàn chức năng của mình khỏi
freeCodeCamp
Change to Blue
39 và chức năng của chúng tôi sẽ vẫn giữ nguyênClick
5Cách xây dựng nút "Hiển thị thêm" và "Hiển thị ít hơn" bằng JavaScript
Một trong những cách tốt nhất để học là làm dự án, vì vậy hãy lấy những gì chúng ta đã học về
freeCodeCamp
Change to Blue
4 và "nhấp chuột" vào
freeCodeCamp
Change to Blue
5 để xây dựng thứ gì đóKhi bạn truy cập một blog, bạn thường thấy các đoạn trích của bài viết đầu tiên. Sau đó, bạn có thể nhấp vào nút "đọc thêm" để hiển thị phần còn lại. Hãy cố gắng làm điều đó
Đây là HTML chúng tôi đang xử lý
Click
6Đó là HTML đơn giản với một số thông tin về freeCodeCamp. Và có một nút chúng tôi đã đính kèm một
freeCodeCamp
Change to Blue
4 vào. Hàm chúng tôi muốn thực thi là
freeCodeCamp
Change to Blue
65, chúng tôi sẽ viết sớmKhông có CSS, đây là những gì chúng ta có
Nó không quá xấu, nhưng chúng ta có thể làm cho nó đẹp hơn và hoạt động theo cách chúng ta muốn. Vì vậy, chúng tôi có một số CSS mà tôi sẽ giải thích bên dưới
Click
7CSS đang làm gì?
Với bộ chọn chung [
freeCodeCamp
Change to Blue
66], chúng tôi đang xóa lề và phần đệm mặc định được gán cho các thành phần để chúng tôi có thể thêm lề và phần đệm của riêng mìnhChúng tôi cũng đặt kích thước hộp thành hộp viền để chúng tôi có thể bao gồm phần đệm và đường viền trong tổng chiều rộng và chiều cao của các phần tử của chúng tôi
Chúng tôi căn giữa mọi thứ trong cơ thể bằng Flexbox và tạo cho nó một nền màu xám nhạt
Phần tử
freeCodeCamp
Change to Blue
67 của chúng tôi, chứa văn bản, có chiều rộng là
freeCodeCamp
Change to Blue
68, nền trắng [#fff] và có phần đệm 20px ở trên cùng, 20 ở bên trái và bên phải và 0 ở dưới cùngCác thẻ đoạn văn bên trong nó có cỡ chữ là 18px và sau đó chúng tôi đã cung cấp cho chúng chiều cao tối đa là
freeCodeCamp
Change to Blue
69. Do chiều cao tối đa của thành phần bài viết, tất cả văn bản sẽ không được chứa và sẽ tràn ra ngoài. Để khắc phục điều này, chúng tôi đặt tràn thành ẩn để không hiển thị văn bản đó lúc đầuThuộc tính chuyển đổi đảm bảo rằng mọi thay đổi xảy ra sau 1 giây. Tất cả văn bản bên trong ________ 170 đều được căn đều và có lề trên 20 pixel để văn bản không quá dính vào đầu trang
Bởi vì chúng tôi đã loại bỏ lề mặc định, tất cả các đoạn văn của chúng tôi được đẩy vào nhau. Vì vậy, chúng tôi đặt lề dưới là 16 pixel để tách chúng khỏi nhau
Bộ chọn của chúng tôi,
freeCodeCamp
Change to Blue
71, có thuộc tính của
freeCodeCamp
Change to Blue
72 được đặt thành
freeCodeCamp
Change to Blue
73. Điều này có nghĩa là bất cứ lúc nào phần tử bài viết có một lớp
freeCodeCamp
Change to Blue
74 được đính kèm, chiều cao tối đa sẽ thay đổi từ
freeCodeCamp
Change to Blue
69 thành
freeCodeCamp
Change to Blue
73 để hiển thị phần còn lại của bài viết. Điều này có thể thực hiện được với JavaScript – công cụ thay đổi cuộc chơi của chúng tôiChúng tôi đã tạo kiểu cho nút của mình với nền tối và làm cho nó có màu trắng. Chúng tôi đặt đường viền của nó thành không để xóa đường viền mặc định của HTML trên các nút và chúng tôi đã cung cấp cho nó bán kính đường viền là ________ 177 để nó có đường viền hơi tròn
Cuối cùng, chúng tôi đã sử dụng lớp giả
freeCodeCamp
Change to Blue
78 trong CSS để thay đổi con trỏ nút thành con trỏ. Màu nền hơi thay đổi khi người dùng di chuột qua nóChúng ta bắt đầu – đó là CSS
Trang của chúng tôi bây giờ trông đẹp hơn
Điều tiếp theo chúng ta cần làm là viết JavaScript để có thể xem phần còn lại của bài viết bị ẩn
Chúng tôi có một thuộc tính
freeCodeCamp
Change to Blue
4 bên trong thẻ mở nút của chúng tôi đã sẵn sàng để thực thi một chức năng
freeCodeCamp
Change to Blue
65, vì vậy hãy viết chức năng nàyChúng tôi cần chọn bài viết của mình trước, vì chúng tôi phải hiển thị phần còn lại của nó
Click
8Điều tiếp theo chúng ta cần làm là viết hàm
freeCodeCamp
Change to Blue
65 để chúng ta có thể chuyển đổi giữa xem phần còn lại của bài báo và ẩn nó điClick
9Chức năng đang làm gì?
Chúng tôi sử dụng một tuyên bố
freeCodeCamp
Change to Blue
82 ở đây. Đây là một phần quan trọng của JavaScript giúp bạn đưa ra quyết định trong mã của mình nếu một điều kiện nhất định được đáp ứngCú pháp cơ bản trông như thế này
freeCodeCamp
Change to Blue
0Ở đây, nếu tên lớp của bài viết bằng open [nghĩa là chúng ta muốn thêm lớp open vào nó, lớp này được đặt chiều cao tối đa là 1000px trong CSS], thì chúng ta muốn xem phần còn lại của bài viết. Ngược lại, chúng tôi muốn bài viết trở về trạng thái ban đầu nơi một phần của nó bị ẩn
Chúng tôi làm điều này bằng cách gán cho nó một lớp mở trong khối khác, điều này làm cho nó hiển thị phần còn lại của bài báo. Sau đó, chúng tôi đặt lớp thành một chuỗi trống [không có] trong khối if, khiến nó trở về trạng thái ban đầu
Mã của chúng tôi đang hoạt động tốt với quá trình chuyển đổi suôn sẻ
Chúng tôi có thể tách HTML và JavaScript mà vẫn sử dụng
freeCodeCamp
Change to Blue
4, vì title là JavaScript. Vì vậy, có thể viết phần này trong tệp JavaScript thay vì bắt đầu từ HTML
freeCodeCamp
Change to Blue
1Chúng tôi cũng có thể làm điều này bằng cách sử dụng Trình lắng nghe sự kiện
freeCodeCamp
Change to Blue
2____03Chức năng của chúng tôi vẫn giữ nguyên
Sự kết luận
Tôi hy vọng hướng dẫn này sẽ giúp bạn hiểu cách hoạt động của sự kiện nhấp chuột trong JavaScript. Chúng tôi đã khám phá hai phương pháp khác nhau ở đây, vì vậy bây giờ bạn có thể bắt đầu sử dụng chúng trong các dự án viết mã của mình
Cảm ơn bạn đã đọc và tiếp tục mã hóa
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Nhà phát triển web và nhà văn kỹ thuật tập trung vào các công nghệ giao diện người dùng
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu
Chúng tôi có thể viết Onclick trong thẻ đầu vào không?
Chúng tôi có thể sử dụng title trong HTML không?
Thẻ HTML nào là Onclick?
, , , , , , , , and .