Существует фрагмент HTML:
<input onclick="start();" type="button" value="Start!"/>
В Firefox и Chrome он вызывает start
при щелчке. Однако в IE9 он выдает сообщение об ошибке: SCRIPT5002: Function expected
. Затем я попробовал несколько разных случаев:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<script>
function start(){
alert("Let start");
}
function stop(){
alert("Let 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>
- Исходный случай: Failed (Вот почему я здесь.)
- Используйте
span
вместоinput
: Успех - Используйте другое имя функции: Success
- Использовать другой тип: Failed
- Используйте
onmouseover
вместоonclick
: Failed
Я использовал отладчик, и он сказал, что start
есть function start(){alert("Let start");}
. Затем я использовал alert(start)
и сказал fileopen
.
В результате теста 3 я могу легко обходиться, изменяя имя, но я хочу знать , почему эта ошибка произошла в некоторых случаях, но не в других. Изменить: Или следующее лучшее, другие обходы без изменения имен.