Có một đoạn mã HTML:Lỗi "Chức năng được mong đợi" trong IE: '<input onclick = "start();" ... '
<input onclick="start();" type="button" value="Start!"/>
Trong Firefox và Chrome nó gọi start
trên nhấp chuột. Tuy nhiên trong IE9 nó tạo ra thông báo lỗi: SCRIPT5002: Function expected
. Sau đó, tôi đã cố gắng trường hợp khác nhau:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
function start(){
alert("Let's start");
}
function stop(){
alert("Let's stop");
}
</script>
<input onclick="start();" type="button" value="Start!"/><br/> <!-- Failed : the main issue -->
<span onclick="start();">Start!</span><br/> <!-- Work -->
<input onclick="stop();" type="button" value="Stop!"/><br/> <!-- Work -->
<input onclick="start();" type="text" value="Start!"/><br/> <!-- Failed -->
<input onmouseover="start();" type="button" value="Start!"/><br/> <!-- Failed -->
</body>
</html>
- trường hợp gốc: Không (Đó là lý do tại sao tôi ở đây.)
- Sử dụng một
span
thay vìinput
: Thành công - Sử dụng một tên hàm: Thành công
- Sử dụng loại khác: Không thành công
- Sử dụng
onmouseover
thay vìonclick
: Không thành công
Tôi đã sử dụng trình gỡ lỗi và nó cho biết start
là function start(){alert("Let's start");}
. Sau đó, tôi đã sử dụng alert(start)
và nó cho biết fileopen
.
Kết quả của thử nghiệm 3, tôi có thể dễ dàng làm việc xung quanh bằng cách thay đổi tên, nhưng tôi muốn biết tại sao lỗi này xảy ra trong một số trường hợp nhưng không xảy ra ở các trường hợp khác. Chỉnh sửa: Hoặc điều tốt nhất tiếp theo, các công việc khác xung quanh mà không thay đổi tên.
trước tiên, xóa tất cả javascript khỏi html của bạn! giữ javascript của bạn trong một tập tin js. :) – Johan
@Johan Trên thực tế tôi đã làm, và tôi đã nhận được lỗi, sau đó tôi đưa JavaScript vào HTML để đăng ở đây. – johnchen902
Có lẽ bạn đã xác định lại biến 'start' khác với một số loại khác ngoài hàm. Nó cũng có thể là một 'id' của một phần tử HTML che khuất biến toàn cầu ban đầu. – Teemu