Làm cách nào để gọi hàm JavaScript trong HTML onclick?

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

<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
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
<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
5, cho phép bạn tách HTML khỏi JavaScript

Đây là một kịch bản tương tác của nút HTML onclick

Cách sử dụng sự kiện <div> <p class="name">freeCodeCamp</p> <button>Change to Blue</button> </div> 4 trong JavaScript

Sự kiện

<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
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 <div> <p class="name">freeCodeCamp</p> <button>Change to Blue</button> </div> 4 cơ bản

<element onclick="functionToExecute()">Click</element>

Ví dụ

<button onclick="functionToExecute()">Click</button>

Lưu ý rằng thuộc tính

<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
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 <div> <p class="name">freeCodeCamp</p> <button>Change to Blue</button> </div> 4

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

<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
4 vào thực tế

<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>

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ụ

 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 ta có

Làm cách nào để gọi hàm JavaScript trong HTML onclick?

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

<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
4 vào nút của mình, sau đó viết hàm JavaScript để thay đổi màu sắc

Vì vậy, chúng tôi cần thực hiện một thay đổi nhỏ trong HTML của mình

<div>
  <p class="name">freeCodeCamp</p>
  <button onclick="changeColor()">Change to Blue</button>
</div>

Chức năng chúng tôi muốn thực hiện 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 tôi cần viết nó trong 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 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

<script src="path-to-javascript-file"></script>

Nế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

<script>
  // Your Scripts
</script>

Bây giờ, hãy viết 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 của chúng ta

Trướ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ẻ

 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

 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;
}
7,
 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 của DOM. 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à nhanh hơn. Tôi cũng sẽ sử dụng
<div>
  <p class="name">freeCodeCamp</p>
  <button onclick="changeColor()">Change to Blue</button>
</div>
1 để khai báo các biến của chúng ta thay vì
<div>
  <p class="name">freeCodeCamp</p>
  <button onclick="changeColor()">Change to Blue</button>
</div>
2 và
<div>
  <p class="name">freeCodeCamp</p>
  <button onclick="changeColor()">Change to Blue</button>
</div>
3, bởi vì với
<div>
  <p class="name">freeCodeCamp</p>
  <button onclick="changeColor()">Change to Blue</button>
</div>
1, mọi thứ sẽ an toàn hơn khi biến trở thành chỉ đọc

const name = document.querySelector(".name");

Bâ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

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";
}

Điều 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 hiện. Đó là lý do tại sao định danh hàm (tên) của chúng tôi được đặt thành
<div>
  <p class="name">freeCodeCamp</p>
  <button onclick="changeColor()">Change to Blue</button>
</div>
6. Nếu tên không tương quan với nội dung trong HTML, nó sẽ không hoạt động

Trong 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

Làm cách nào để gọi hàm JavaScript trong HTML onclick?

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

<button onclick="functionToExecute()">Click</button>
0

Vì 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

<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
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

Làm cách nào để gọi hàm JavaScript trong HTML onclick?

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

<button onclick="functionToExecute()">Click</button>
1

Khố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ỳ thứ 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
Làm cách nào để gọi hàm JavaScript trong HTML onclick?

Cách sử dụng nhấp chuột <div> <p class="name">freeCodeCamp</p> <button onclick="changeColor()">Change to Blue</button> </div> 9 trong JavaScript

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 onclick, nhưng hãy thực hiện một cách tiếp cận khác tại đây

Đây là một kịch bản tương tác về người nghe sự kiện

Cú pháp <div> <p class="name">freeCodeCamp</p> <button onclick="changeColor()">Change to Blue</button> </div> 9 cơ bản

<button onclick="functionToExecute()">Click</button>
2

Bâ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

<button onclick="functionToExecute()">Click</button>
3

Và đây là những gì nó trông giống như

Làm cách nào để gọi hàm JavaScript trong HTML onclick?

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

<button onclick="functionToExecute()">Click</button>
4

Chúng tôi cũng có thể tách hoàn toàn chức năng của mình khỏi

<div>
  <p class="name">freeCodeCamp</p>
  <button onclick="changeColor()">Change to Blue</button>
</div>
9 và chức năng của chúng tôi sẽ vẫn giữ nguyên

<button onclick="functionToExecute()">Click</button>
5

Làm cách nào để gọi hàm JavaScript trong HTML onclick?

Cá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ập dự án, vì vậy hãy lấy những gì chúng ta đã học về

<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
4 và "nhấp chuột" vào
<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
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ý

<button onclick="functionToExecute()">Click</button>
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

<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
4 vào. Hàm chúng tôi muốn thực thi là
<script src="path-to-javascript-file"></script>
5, chúng tôi sẽ sớm viết hàm này

Không có CSS, đây là những gì chúng ta có

Làm cách nào để gọi hàm JavaScript trong HTML onclick?

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

<button onclick="functionToExecute()">Click</button>
7

CSS đang làm gì?

Với bộ chọn chung (

<script src="path-to-javascript-file"></script>
6), 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ình

Chú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ử

<script src="path-to-javascript-file"></script>
7 của chúng tôi, chứa văn bản, có chiều rộng là
<script src="path-to-javascript-file"></script>
8, 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ùng

Cá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à

<script src="path-to-javascript-file"></script>
9. 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 đầu

Thuộ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

<script>
  // Your Scripts
</script>
0 đề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,

<script>
  // Your Scripts
</script>
1, có thuộc tính của
<script>
  // Your Scripts
</script>
2 được đặt thành
<script>
  // Your Scripts
</script>
3. Điều này có nghĩa là bất cứ lúc nào phần tử mạo từ có một lớp
<script>
  // Your Scripts
</script>
4 được đính kèm, chiều cao tối đa sẽ thay đổi từ
<script src="path-to-javascript-file"></script>
9 thành
<script>
  // Your Scripts
</script>
3 để hiển thị phần còn lại của mạo 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ôi

Chú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à

<script>
  // Your Scripts
</script>
7 để nó có đường viền hơi tròn

Cuối cùng, chúng tôi đã sử dụng lớp giả

<script>
  // Your Scripts
</script>
8 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

Làm cách nào để gọi hàm JavaScript trong HTML onclick?

Đ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

<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
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
<script src="path-to-javascript-file"></script>
5, vì vậy hãy viết chức năng này

Chú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ó

<button onclick="functionToExecute()">Click</button>
8

Điều tiếp theo chúng ta cần làm là viết hàm

<script src="path-to-javascript-file"></script>
5 để 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ó đi

<button onclick="functionToExecute()">Click</button>
9

Chứ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

<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
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ẻ

Làm cách nào để gọi hàm JavaScript trong HTML onclick?

Chúng tôi có thể tách HTML và JavaScript mà vẫn sử dụng

<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
4, vì onclick là JavaScript. Vì vậy, có thể viết phần này trong tệp JavaScript thay vì bắt đầu từ HTML

<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
1

Làm cách nào để gọi hàm JavaScript trong HTML onclick?

Chú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

<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
2
<div>
  <p class="name">freeCodeCamp</p>
  <button>Change to Blue</button>
</div>
3

Chức năng của chúng tôi vẫn giữ nguyên

Phần 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


Làm cách nào để gọi hàm JavaScript trong HTML onclick?
Kolade Chris

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

Làm cách nào để gọi hàm JavaScript từ HTML onclick?

Có hai cách để tiếp cận một hàm JavaScript trong HTML. Đầu tiên là sử dụng tính năng “onclick” của nút để gọi hàm đã có trong tệp HTML . Cách thứ hai là liên kết tệp JavaScript bên ngoài với tệp HTML bằng cách sử dụng từ khóa “src”.

Tôi có thể gọi hàm JavaScript trong HTML không?

Sử dụng thẻ tập lệnh . Sau đó, bạn có thể gọi chức năng này khi người dùng tương tác với một phần tử trang. define the function inside a pair of