Bất cứ khi nào bạn truy cập một trang web, có lẽ bạn sẽ nhấp vào một cái gì đó như liên kết hoặc nút. 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 tôi sẽ khám phá hai cách khác nhau để thực hiện các sự kiện nhấp vào JavaScript bằng hai phương thức khác nhau. Đầu tiên, chúng tôi sẽ xem xét kiểu freeCodeCamp freeCodeCamp
4 truyền thống mà bạn làm ngay từ trang HTML. Sau đó, chúng ta sẽ xem cách "nhấp chuột" hiện đại hơn
5 hoạt động, cho phép bạn tách HTML khỏi JavaScript.
Cá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 hiện một chức năng nhất định khi nhấp vào nút. Điều này có thể là khi người dùng gửi biểu mẫu, khi bạn thay đổi một số nội dung nhất định trên trang web và những thứ khác như thế.Bạn đặt chức năng JavaScript bạn muốn thực thi bên trong thẻ mở của nút.
Cú pháp cơ bản
freeCodeCamp
Change to Blue
4
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ị của nó, đó là hàm bạn muốn thực hiện, nói 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 khi nhận dạng hàm [tên].
freeCodeCamp
Change to Blue
4 Ví dụ sự kiện
freeCodeCamp
Change to Blue
Tôi đã chuẩn bị một số HTML cơ bản với một chút kiểu dáng để chúng tôi có thể đưa sự kiện
freeCodeCamp
Change to Blue
4 vào thực tiễn trong thế giới thực.
freeCodeCamp
Change to Blue
Và đây là CSS để làm cho nó trông tốt, cùng với tất cả các phần còn lại của mã ví dụ:
body {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
p {
font-size: 2rem;
}
button {
padding: 7px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button.blue {
background-color: #3498db;
}
button.green {
background-color: #2ecc71;
}
button.orange {
background-color: orangered;
}
Vì vậy, trên trang web, đây là những gì chúng tôi 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 khi chúng tôi nhấp vào nút. Vì vậy, chúng tôi cần thêm một thuộc tính
freeCodeCamp
Change to Blue
4 vào nút của chúng tôi, sau đó viết hàm JavaScript để thay đổi màu.Vì vậy, chúng ta cần tạo ra một thay đổi nhỏ trong HTML của mình:
freeCodeCamp
Change to Blue
Hàm chúng tôi muốn thực thi là
body {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
p {
font-size: 2rem;
}
button {
padding: 7px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button.blue {
background-color: #3498db;
}
button.green {
background-color: #2ecc71;
}
button.orange {
background-color: orangered;
}
3. Vì vậy, chúng ta cần viết nó trong một tệp JavaScript hoặc trong tệp HTML bên trong thẻ body {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
p {
font-size: 2rem;
}
button {
padding: 7px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button.blue {
background-color: #3498db;
}
button.green {
background-color: #2ecc71;
}
button.orange {
background-color: orangered;
}
4.Nếu bạn muốn viết tập lệnh của mình vào tệp JavaScript, bạn cần liên kết nó trong HTML bằng cú pháp dưới đây:
Nếu bạn muốn viết tập lệnh vào tệp HTML, chỉ cần đặt nó vào trong thẻ tập lệnh:
// Your Scripts
Bây giờ, hãy để Viết chức năng
body {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
p {
font-size: 2rem;
}
button {
padding: 7px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button.blue {
background-color: #3498db;
}
button.green {
background-color: #2ecc71;
}
button.orange {
background-color: orangered;
}
3 của chúng tôi.Trước hết, chúng ta cần chọn phần tử chúng ta muốn thao tác, đó là văn bản Freecodecamp bên trong thẻ
body {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
p {
font-size: 2rem;
}
button {
padding: 7px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button.blue {
background-color: #3498db;
}
button.green {
background-color: #2ecc71;
}
button.orange {
background-color: orangered;
}
6.Trong JavaScript, bạn làm điều đó với các phương thức DOM Lừa ____37,
body {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
p {
font-size: 2rem;
}
button {
padding: 7px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button.blue {
background-color: #3498db;
}
button.green {
background-color: #2ecc71;
}
button.orange {
background-color: orangered;
}
8 hoặc body {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
p {
font-size: 2rem;
}
button {
padding: 7px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button.blue {
background-color: #3498db;
}
button.green {
background-color: #2ecc71;
}
button.orange {
background-color: orangered;
}
9. Sau đó, bạn lưu trữ giá trị trong một biến.Trong hướng dẫn này, tôi sẽ sử dụng
body {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
p {
font-size: 2rem;
}
button {
padding: 7px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button.blue {
background-color: #3498db;
}
button.green {
background-color: #2ecc71;
}
button.orange {
background-color: orangered;
}
9 vì nó hiện đại hơn và nó nhanh hơn. Tôi cũng sẽ sử dụng
freeCodeCamp
Change to Blue
1 để khai báo các biến của chúng tôi thay vì
freeCodeCamp
Change to Blue
2 và
freeCodeCamp
Change to Blue
3, bởi vì với
freeCodeCamp
Change to Blue
1, mọi thứ sẽ an toàn hơn khi biến trở nên chỉ đọc.const name = document.querySelector[".name"];
Bây giờ chúng tôi đã chọn văn bản, hãy viết chức năng của chúng tôi. Trong JavaScript, cú pháp chức năng cơ bản trông như thế này:
function funcctionName [] {
// What to do
}
Vì vậy, hãy để viết chức năng của chúng tôi:
function changeColor[] {
name.style.color = "blue";
}
Chuyện gì đang xảy ra?
Hãy nhớ từ HTML rằng
body {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
p {
font-size: 2rem;
}
button {
padding: 7px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button.blue {
background-color: #3498db;
}
button.green {
background-color: #2ecc71;
}
button.orange {
background-color: orangered;
}
3 là chức năng chúng ta sẽ thực thi. Đó là lý do tại sao định danh chức năng của chúng tôi [tên] được đặt thành
freeCodeCamp
Change to Blue
6. Nếu cái tên này không tương quan với những gì mà trong HTML, thì nó đã giành được công việc.Trong mô hình DOM [mô hình đối tượng tài liệu, đề cập đến tất cả các HTML], để thay đổi bất cứ điều gì liên quan đến phong cách, bạn cần viết phong cách của Hồi giáo sau đó là một dấu chấm [.]. Tiếp theo là những gì bạn muốn thay đổi, có thể là màu, màu nền, kích thước phông chữ, v.v.
Vì vậy, bên trong chức năng của chúng tôi, chúng tôi lấy biến tên mà chúng tôi đã khai báo để lấy văn bản Freecodecamp của chúng tôi, sau đó chúng tôi thay đổi màu sang màu xanh.
Màu sắc của văn bản của chúng tôi chuyển sang màu xanh bất cứ khi nào nút được nhấp:
Mã của chúng tôi đang hoạt động!
Chúng ta có thể đưa mọi thứ đi xa hơn một chút bằng cách thay đổi văn bản của chúng ta 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 màu xanh lam, xanh lá cây và màu đỏ cam.
Lần 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. Chức năng chúng ta sẽ viết cũng có thể tự mình thực hiện, mà chúng ta sẽ gọi là Color Color.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 tôi và viết chức năng để thay đổi màu sắc của nó thành màu xanh lam, xanh lá cây và màu đỏ cam:
Click
1Khối mã trong hàm lấy biến tên [trong đó chúng tôi lưu trữ văn bản freecodecamp của chúng tôi], sau đó đặt màu cho bất cứ điều gì chúng tôi chuyển vào các hàm
body {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
p {
font-size: 2rem;
}
button {
padding: 7px;
border: none;
border-radius: 4px;
cursor: pointer;
}
button.blue {
background-color: #3498db;
}
button.green {
background-color: #2ecc71;
}
button.orange {
background-color: orangered;
}
3 trong các nút HTML.Cách sử dụng nhấp
freeCodeCamp
Change to Blue
9 trong JavaScript
freeCodeCamp
Change to Blue
Trong JavaScript, có nhiều cách làm điều tương tự. Khi chính 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 thực tiễn tốt nhất.
Người nghe sự kiện làm điều này có thể khi họ 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 Onclick, nhưng hãy thực hiện một cách tiếp cận khác ở đây.
Cú pháp cơ bản
freeCodeCamp
Change to Blue
9
freeCodeCamp
Change to Blue
Click
2Bây giờ, hãy thay đổi văn bản Freecodecampt thành màu xanh bằng cách sử dụng Click EventListner
Đâ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 tôi, chúng tôi cũng cần chọn nút [không chỉ văn bản Freecodecamp]. Điều đó bởi vì không có gì JavaScript trong thẻ mở của nút của chúng tôi, 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 chức năng của mình hoàn toàn khỏi
freeCodeCamp
Change to Blue
9 và chức năng của chúng tôi sẽ vẫn giữ nguyên:Click
5Cách xây dựng nút "Hiển thị thêm" và "Hiển thị ít hơn" với Javascrpit
Một trong những cách tốt nhất để học là bằng cách thực hiện các dự án, vì vậy hãy lấy những gì chúng ta đã học về
freeCodeCamp
Change to Blue
4 và "click"
freeCodeCamp
Change to Blue
5 để xây dựng một cái gì đó.Khi bạn truy cập một blog, bạn thường thấy các trích đoạn của các bài báo trước. 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 mà chúng tôi đang đối phó:
Click
6Nó có HTML đơn giản với một số sự thật về Freecodecamp. Và có một nút chúng tôi đã đính kèm
freeCodeCamp
Change to Blue
4 vào. Hàm chúng tôi muốn thực thi là
5, chúng tôi sẽ viết sớm.Không có CSS, đây là những gì chúng ta có:
Nó không siêu xấu, nhưng chúng ta có thể làm cho nó trông đẹp hơn và hành độ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 dưới đây:
Click
7CSS đang làm gì?
Với bộ chọn phổ quát [
6], chúng tôi đang loại bỏ lề và đệm mặc định được gán cho các phần tử để chúng tôi có thể thêm lề và đệm của riêng mình.Chúng tôi cũng có kích thước hộp được đặt thành hộp biên để chúng tôi có thể bao gồm phần đệm và biên giới trong các yếu tố của chúng tôi Tổng chiều rộng và chiều cao của chúng tôi.
Chúng tôi tập trung mọi thứ trong cơ thể với Flexbox và cho nó một nền màu xám nhạt.
Phần tử
7 của chúng tôi, chứa văn bản, có chiều rộng
8, nền trắng [#FFF] và có đệm 20px ở phía trên, 20 ở bên trái và bên phải và 0 ở phía dưới.Các thẻ đoạn bên trong nó có kích thước phông chữ 18px, và sau đó chúng tôi cho chúng chiều cao tối đa là
9. Do chiều cao tối đa của yếu tố bài viết, tất cả các văn bản sẽ không được chứa và sẽ tràn. Để khắc phục điều này, chúng tôi đã đặt tràn để ẩn để không hiển thị văn bản đó lúc đầu.Thuộc tính chuyển tiếp đảm bảo rằng mọi thay đổi xảy ra sau 1 giây. Tất cả các văn bản bên trong
// Your Scripts
0 đều hợp lý và có phần trên cùng là 20 pixel để nó không gắn bó với đầu trang.Bởi vì chúng tôi đã loại bỏ biên độ mặc định, các đoạn văn của chúng tôi đã bị đẩy cùng nhau. Vì vậy, chúng tôi đặt biên độ dưới cùng là 16 pixel để tách chúng ra khỏi nhau.
Bộ chọn của chúng tôi,
// Your Scripts
1, có một thuộc tính
// Your Scripts
2 được đặt thành
// Your Scripts
3. Điều này có nghĩa là bất cứ khi nào phần tử bài viết có một lớp
// Your Scripts
4 được gắn vào nó, chiều cao tối đa sẽ thay đổi từ
9 thành
// Your Scripts
3 để hiển thị phần còn lại của bài viết. Điều này là có thể với JavaScript - người thay đổi trò chơi của chúng tôi.Chúng tôi tạo kiểu cho nút của chúng tôi với một nền tối và làm cho nó màu trắng. Chúng tôi đặt đường viền của nó thành không có ai để loại bỏ đường viền mặc định HTML trên các nút và chúng tôi đã cho nó bán kính biên giới là
// Your Scripts
7 để nó có đường viền hơi tròn.Cuối cùng, chúng tôi đã sử dụng lớp giả pseudo trong CSS để thay đổi con trỏ nút thành một con trỏ. Màu nền thay đổi một chút khi người dùng di chuyển con trỏ của họ trên nó.
Ở đó chúng tôi đi - đó 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ủa mình để chúng ta có thể thấy phần còn lại của bài viết được ẩn.
Chúng tôi có 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 hàm
5, vì vậy hãy viết chức năng.Chúng tôi cần chọn bài viết của mình trước, bởi 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
5 để chúng ta có thể chuyển đổi giữa việc nhìn thấy phần còn lại của bài viết và ẩn nó.Click
9Chức năng đang làm gì?
Chúng tôi sử dụng một tuyên bố
const name = document.querySelector[".name"];
2 ở đâ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 ứng.Cú 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 mở [nghĩa là, chúng tôi muốn thêm lớp mở vào nó, được đặt thành chiều cao tối đa là 1000px trong CSS], thì chúng tôi muốn xem phần còn lại của bài viết . Khác, chúng tôi muốn bài viết trở lại trạng thái ban đầu nơi một phần của nó được ẩ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 viết. 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ở lại trạng thái ban đầu.
Mã của chúng tôi hoạt động tốt với quá trình chuyển đổi suôn sẻ:
Chúng ta có thể tách HTML và JavaScript và vẫn sử dụng
freeCodeCamp
Change to Blue
4, vì Onclick là JavaScript. Vì vậy, có thể viết điều này trong một tệp JavaScript thay vì bắt đầu từ HTML.
freeCodeCamp
Change to Blue
1Chúng ta cũng có thể làm điều này bằng cách sử dụng EventListner:
freeCodeCamp
Change to Blue
2
freeCodeCamp
Change to Blue
3Chứ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 giúp bạn hiểu cách sự kiện nhấp chuột hoạt động 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 mã hóa của mình.
Cảm ơn bạn đã đọc, và tiếp tục mã hóa.
Học mã miễn phí. Chương trình giảng dạy 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