Tôi muốn sen hai id khi onclick xảy ra như bây giờ khi div 2 được nhấp, tôi cũng muốn vượt qua ID của Div thứ 2 và sau đó viết tập lệnh cho Div thứ 2. Có thể không? Nếu vậy, như thế nào? Bất kỳ ví dụ? Show
Michelem 14.1k5 Huy hiệu vàng49 Huy hiệu bạc65 Huy hiệu Đồng5 gold badges49 silver badges65 bronze badges hỏi ngày 29 tháng 7 năm 2015 lúc 9:07Jul 29, 2015 at 9:07
5 Bạn có thể vượt qua nhiều tham số như bạn muốn. Chỉ cần xác định chức năng cho phù hợp. Chẳng hạn, đối với chức năng 2 tham số
và chức năng của bạn được chức năng như
Đã trả lời ngày 29 tháng 7 năm 2015 lúc 9:18Jul 29, 2015 at 9:18
VeverkeveverkeVeverke 7.2094 Huy hiệu vàng46 Huy hiệu bạc93 Huy hiệu Đồng4 gold badges46 silver badges93 bronze badges
Đã trả lời ngày 29 tháng 7 năm 2015 lúc 10:37Jul 29, 2015 at 10:37
Tôi hiểu rằng bạn muốn một hàm có đối số ID của div đã nhấp. Nếu đúng, hãy sử dụng jQuery và làm điều đó: HTML:
JS JQuery:
Đã trả lời ngày 29 tháng 7 năm 2015 lúc 9:22Jul 29, 2015 at 9:22
3pic3pic3pic 1.1908 Huy hiệu bạc26 Huy hiệu đồng8 silver badges26 bronze badges 4 Trong khi tất cả những người làm việc trong một dự án phát triển web trong quá khứ đã phải đối phó với sự kiện 1 (cho dù đó là sử dụng React, Vue hay thậm chí Không phải là tầm thường.Trong bài viết dựa trên ví dụ này, tôi muốn nhanh chóng bao gồm các cách khác nhau để gửi nhiều tham số đến chức năng xử lý sự kiện của bạn mà không phải bán linh hồn của bạn cho Satan. Ví dụ sử dụng trường hợpHãy cùng xem nhanh một trường hợp sử dụng giả để chúng tôi tất cả trên cùng một trang. Giả vờ bạn có một danh sách các mục trên giỏ hàng giả, mỗi mục có nhiều thuộc tính và khi nhấp vào một trong các nút, bạn cần xóa nó khỏi giỏ hàng. Tuy nhiên, vấn đề là việc xóa nó không phải là tầm thường. Trước khi bạn đưa nó ra khỏi danh sách, trước tiên bạn cần:
Chỉ sau đó, nếu mọi thứ đều ổn, chúng ta có thể tiến hành xóa mục khỏi danh sách. Và đây là mã có liên quan mà chúng tôi sẽ làm việc với:
Mã từ phía trên sẽ hiển thị một cái gì đó như hiển thị trên hình ảnh sau: Được cấp, nó không có nghĩa là một giỏ hàng đẹp, nhưng nó là một danh sách các mặt hàng mà bạn có thể loại bỏ dựa trên các điều kiện nhất định. Điều đó sẽ làm. Lưu ý rằng logic để cập nhật danh mục và kiểm tra thời gian không được thực hiện. Điều đó không liên quan ngay bây giờ, vì vậy chỉ cần cho rằng nó hoạt động và chúng tôi sẽ đối phó với logic xung quanh thay thế. Như đã nói, điều đầu tiên cần lưu ý từ mã, là trình xử lý 1 vì hiện tại đang gọi chức năng 3 với ID ID ( 4). Đây là một cách rất phổ biến để truyền một thuộc tính cho hàm, tuy nhiên, người ta sẽ không đủ, chúng ta cần nhiều thuộc tính hơn, vì vậy hãy để xem các tùy chọn của chúng ta là gì.#1. Sử dụng hàm mũi tên nội tuyếnTheo ví dụ từ trên cao, một cách rất đơn giản để chuyển nhiều thuộc tính cho trình xử lý của bạn, là gọi trình xử lý từ trong một hàm mũi tên nội tuyến.
Mã được thêm vào dòng 1 trên phần tử 6 xác định hàm mũi tên nội tuyến. Vì nó có một định nghĩa chức năng, nó sẽ không được gọi ngay lập tức, nhưng việc đóng cửa được tạo cho phép bạn truy cập các chi tiết vật phẩm của bạn khi nó được gọi. Phương pháp này hoạt động, don lồng làm cho tôi sai, tuy nhiên, nó có một chút mã JSX với logic kinh doanh cho phần cuối và nếu bạn cần vượt qua nhiều thuộc tính thì dòng này có thể trở nên hơi phức tạp để đọc. Trên hết, chúng tôi cũng phải gọi phương thức 7 để giữ cho sự kiện nhấp chuột không làm bất cứ điều gì khác ngoài những gì chúng tôi thực sự muốn. Đây chỉ là tôi nitpicking, nhưng nếu bạn hỏi tôi, tôi nghĩ rằng có ít cách làm việc thô thiển hơn. Đôi khi che giấu một chút logic có thể giúp HTML có thể duy trì hơn. Vì vậy, hãy để một cái nhìn nhanh về các lựa chọn thay thế.#2. Sử dụng móc onclick="myfunction(p1, p2)" 8Móc 8 sẽ cho phép chúng tôi làm sạch mã một chút và trên hết, chức năng của chúng tôi sẽ được ghi nhớ. Đối với mục đích của ví dụ này, lợi ích thứ hai không quan trọng, tuy nhiên, nó chắc chắn là một phần thưởng bổ sung. Mã sẽ trông như thế này:
Mã với cái móc này trông sạch hơn một chút. Để bắt đầu, chúng tôi gọi một hàm trực tiếp trên trình xử lý 1. Không còn cần phải xác định hàm mũi tên nội tuyến, chúng ta chỉ có thể gọi một hàm và vượt qua các thuộc tính chúng ta cần. Hàm mới này sẽ trả về trình xử lý thực tế, đến lượt nó, nhận được đối tượng sự kiện, vì vậy chúng tôi có thể gọi một cách an toàn phương thức 7 từ bên trong trình xử lý, thay vì ngay trên HTML.Đây là một sự thay thế tốt hơn vì chúng tôi đã trừu tượng hóa việc tạo chức năng xử lý và cách nó nên tương tác với sự kiện. Tuy nhiên, chúng tôi có thể làm sạch mã của mình hơn một chút, bằng cách tận dụng các thuộc tính dữ liệu của HTML. Vì vậy, hãy để một cái nhìn. Phát lại phiên nguồn mởOpenReplay là một bộ phát lại phiên, phần mở cho phép bạn xem người dùng làm gì trên ứng dụng web của bạn, giúp bạn khắc phục sự cố nhanh hơn. OpenReplay tự lưu trữ để kiểm soát toàn bộ dữ liệu của bạn. Bắt đầu tận hưởng trải nghiệm gỡ lỗi của bạn - bắt đầu sử dụng OpenReplay miễn phí. #3. Sử dụng các thuộc tính dữ liệuCác thuộc tính dữ liệu là các thuộc tính tùy chỉnh bạn có thể thêm vào HTML của mình và theo mặc định, sẽ bị bỏ qua hoàn toàn bởi trình duyệt, tuy nhiên bạn có thể sử dụng chúng và truy cập chúng thông qua JavaScript. Vấn đề là bạn có thể nhúng các thuộc tính của một mục giỏ hàng vào HTML thực tế của phần tử thay vì phải truyền trực tiếp bằng mã. Nó là một cách gọn gàng để giữ cho HTML càng sạch sẽ nhất có thể. Đây là cách nó sẽ trông như thế nào: 0Bây giờ hãy nhìn vào HTML của liên kết, bạn có thể thấy 3 thuộc tính 2 chứa các giá trị được liên kết với mục. Trình xử lý 1 cũng trông sạch hơn rất nhiều, không cần phải chuyển bất kỳ thuộc tính nào vào đó, bạn chỉ phải lo lắng về việc chỉ định tên xử lý. Thuộc tính duy nhất bạn quan tâm, là sự kiện thực tế, phản ứng sẽ vượt qua cho bạn. Và thông qua mục tiêu của sự kiện, bạn có thể thấy cách chúng tôi sử dụng phương thức 4 để có được thông tin chúng tôi cần.Kết quả là một HTML sạch hơn nhiều, logic đơn giản hóa và tổng thể một mã không chỉ hoạt động, mà còn dễ đọc và hiểu dễ dàng hơn rất nhiều. Cuối cùng, cách bạn viết mã chỉ quan trọng với bạn và nhóm của bạn. Không có một cách nào để chuyển nhiều thuộc tính cho trình xử lý 1 trong React và tất cả các tùy chọn tiềm năng đều hoàn thành công việc, vì vậy, đó là vấn đề hiểu những gì bạn cần và bạn đang cố gắng đạt được.Nếu bạn đã xoay sở để giải quyết vấn đề này theo một cách khác, hãy theo dõi tôi trên Twitter tại @deleteman123 và chia sẻ giải pháp của bạn. Chúng ta có thể truyền hai tham số trong hàm onclick không?Bạn có thể vượt qua nhiều tham số như bạn muốn.Chỉ cần xác định chức năng cho phù hợp.. Just define the function accordingly.
Bạn có thể thêm nhiều sự kiện onclick không?Cách đầu tiên để thực hiện nhiều sự kiện onclick trong React là viết logic của bạn vào một hàm duy nhất và sau đó gọi chức năng đó bên trong trình xử lý sự kiện Onclick.Để tìm hiểu thêm về trình xử lý sự kiện Onclick trong React, hãy xem hướng dẫn của tôi về xử lý sự kiện React Onclick với các ví dụ.write your logic in a single function, and then call that function inside of the onClick event handler. To learn more about the onClick event handler in React, check out my tutorial on React onClick Event Handling with Examples.
Tại sao Onclick hoạt động trên cú nhấp chuột gấp đôi?Điều đang xảy ra là bạn đang thêm trình nghe nhấp vào bên trong cửa sổ Nhấp vào người nghe.Vì vậy, ban đầu chỉ có cửa sổ lắng nghe cho một cú nhấp chuột.Sau đó, khi nhấp vào bất cứ nơi nào, onclick được đặt trên.Các yếu tố Redpic.you are adding the click listener inside the window click listener. So initially only the window listens for a click. Then when clicking anywhere the onclick is set on the . redPic elements.
Cách liên kết nhiều sự kiện trong một nút Nhấp vào React là gì?Để gọi nhiều chức năng onclick trong React: Đặt onclick prop trên phần tử.Gọi các chức năng khác trong hàm xử lý sự kiện.Hàm xử lý sự kiện có thể gọi càng nhiều chức năng khác khi cần thiết. |