功能点击不起作用...不显示警告框
function onclick not working .. ... not showing alert box
html code
<input type="button" value="+" onclick="alert()" />
在 chrome 中检查后显示此错误未捕获范围错误:超出最大调用堆栈大小。
JavaScript
<script type="text/javascript">
function alert() {
alert("Hello! I am an alert box!!");
}
</script>
通过告诉我如何解决这个问题来帮助我
你用新定义覆盖现有的函数定义,除了调用自身之外,还会导致太多的递归。
正如其他用户提到的,你只需要用与 alert() 不同的名称创建你的函数,这是一个在 javascript 中已经定义的函数,你不应该使用它。
我宁愿使用标准的addEventListener,这将使您的代码和html更清晰
你可以做这样的事情,你也可以直接从这个页面尝试:
function myDefinedAlert() {
alert("Hello! I am an alert box!!");
}
var el = document.getElementById("yourButton");
el.addEventListener("click", myDefinedAlert, false);
<input id="yourButton" type="button" value="+" />
按下按钮,尝试一下,然后将其复制到您的代码中,让我知道它是否有效:)
那是因为你在alert()
中调用alert()
,所以结果是递归。
alert()
是一个内置函数,并不意味着要重新定义。尽管您重新定义了,但您在新函数中调用了相同的函数,这是错误的。所以,简单来说,给一个不同的名称,比如myAlert()
什么的:
function myAlert() {
alert("Hello! I am an alert box!!");
}
因此,递归地调用alert()
函数并溢出堆栈。
解决方案片段
function myAlert() {
alert("Hello! I am an alert box!!");
}
<input type="button" value="+" onclick="myAlert()" />
你不能有一个递归函数,就像你在 Javascript 中所做的那样,因为它会继续循环失控并在浏览器中消耗更多内存。从函数内部调用函数时,需要确保没有调用相同的函数。
相关文章:
- Jquery单击按钮时不显示警告框
- 有一种方法可以使jslint在使用控制台时显示警告或错误
- 如何根据所选日期显示警告
- 在 中显示警告框 asp.net 将重定向到空白页,然后返回到原始页面
- 推送提交后,如果输入字段为黑色,则显示验证检查或以红色字母显示警告
- 带有合成和 Eslint 的 VIM:显示警告
- 功能点击不起作用...不显示警告框
- 无法使用 PHP 显示警告消息
- Plupload-在使用Flash Runtime且浏览器没有Flash时显示警告
- 如果在指定日期内,则使用日期选择器显示警告消息
- 删除行时,数据表显示警告
- 当用户第一次关闭特定页面时显示警告消息
- 如何在一半时间使用javascript完成在线考试时显示警告框
- Javascript函数不显示警告框
- 禁止在窗口上显示警告消息.打开
- 关闭弹出窗口时显示警告信息
- Javascript不显示警告消息
- ie浏览器显示警告值“未定义”;但火狐和chrome显示出了实际价值
- 如何使用Jquery保存数据后显示警告消息
- 如何将表单提交操作从显示警告弹出窗口更改为重定向到新页面?