1 Cách loại bỏ xung đột giữa hai javascript 18/01/12, 10:31 pm
[KiNg]_[PiN]-BB
Nếu
bạn chỉ có một đoạn javascript trên trang web thì trang web của bạn
hoạt động tốt. Đôi khi bạn thêm vào một đoạn javascipt khác thì một
trong hai đoạn sẽ không hoạt động hoặc cả hai cùng không hoạt động.
Nguyên nhân là do sự xung đột giữa 2 đoạn javascript này mà căn nguyên
nằm ở sự trùng lặp về xử lý sự kiện (event-handler), đặc biệt là chức
năng onload cho thẻ <body>.
Cách xử lý xung đột là kết hợp 2 chức năng onload lại với nhau.
Lấy ví dụ Script #1 có chức năng onload đưa trực tiếp vào thẻ <body> như thế này:
<body onload="dothis()">
Script #2 có chức năng onload nằm ngay trong chính script như thế này:
window.onload=dothat();
Bạn có thể thấy hai script trên đều sử dụng chức năng onload. Vậy cái
nào hoạt động được, thường thì cái nằm trong thẻ <body>.
Nếu bạn kết hợp 2 chức năng vào trong thẻ <body> thì bạn sẽ loại
bỏ được xung đột. Sau đây là sự kết hợp 2 script nêu trên.
<body onload="dothis();dothat()">
Nếu bạn có nhiều hơn 2 javascript thì cách xử lý tương tự.
Ví dụ 2.
Script 1: <body onload="dothis()">
Script 2: <body onload="dothat()">
Xử lý: <body onload="dothis();dothat()">
Ví dụ 3:
Script 1: window.onload=dothis
Script 2: window.onload=dothat
Xử lý: <body onload="dothis();dothat()">