document.addEventListener("DOMContentLoaded", function() {
initialiseMediaPlayer();
}, false);
sẽ thực hiện initialiseMediaPlayer
khi nội dung dom được tải.
document.addEventListener("DOMContentLoaded", initialiseMediaPlayer();, false);
là lỗi cú pháp; nếu bạn loại bỏ các dấu chấm phẩy:
document.addEventListener("DOMContentLoaded", initialiseMediaPlayer(), false);
gọi initialiseMediaPlayer
ngay lập tức, sau đó vượt qua giá trị trả về (mà khả năng không phải là một chức năng) để addEventListener
. Điều này sẽ không hoạt động như mong muốn.
Bạn có thể làm
document.addEventListener("DOMContentLoaded", initialiseMediaPlayer, false);
(loại bỏ các dấu ngoặc = function gọi). Sau đó, initialiseMediaPlayer
sẽ được thực hiện khi tải nội dung dom và hoạt động như mong muốn.
Tuy nhiên, không giống như trong trường hợp trước đây, initialiseMediaPlayer
sẽ thực sự nhận được các đối số do trình duyệt đưa ra. Ngoài ra, giá trị trả về của nó được nhận bởi trình duyệt. Trong trường hợp DOMContentLoaded
, rất có thể điều này không quan trọng lắm.
Bạn cũng tránh tạo thêm một hàm ẩn danh nếu bạn chuyển trực tiếp initialiseMediaPlayer
. Một lần nữa, hiệu quả là không thực sự nhận thức được từ quan điểm của người dùng.
Nguồn
2013-03-06 19:16:12
Cách sau không làm những gì bạn nghĩ –
Sau đó là lỗi cú pháp –
Bạn đang chuyển giá trị trả về của initialiseMediaPlayer đến trình nghe sự kiện. Xóa lời gọi() và chúng sẽ giống nhau – danronmoon