当input中属性name的定义和事件名相同时无法调用到事件

城池523 2013-03-11 09:37:07
js方法
<script type="text/javascript">
function Fox(){alert("Hello world!");}
</script>
在html中调用无反应。
<input type="button" name="Fox" onclick="Fox()" />
报错:对象不支持属性和方法。然后把属性name换个名称就OK了。第一次遇到这种事……
...全文
250 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2013-03-13
  • 打赏
  • 举报
回复
onclick="window.Fox()"
licip 2013-03-12
  • 打赏
  • 举报
回复
楼上说的很对,我觉得最好不要这样起名字。
菜牛 2013-03-12
  • 打赏
  • 举报
回复
确实有这个问题,放在Form中的input其名字的值已经作为当前form的属性了,由于作用域问题,onclick访问的是form的Fox属性而不是外部的函数。
carlisliu 2013-03-11
  • 打赏
  • 举报
回复
name和onclick其实都是相应dom元素下的属性,定义的时候不要用相同的名字,也不要用像length这样的名字
Kilin_Zhang 2013-03-11
  • 打赏
  • 举报
回复
测试通过,楼主说的问题不存在
KK3K2005 2013-03-11
  • 打赏
  • 举报
回复
dom的 onclick 直接标签中的写法 会优先调用 this下面的同名属性把
001007009 2013-03-11
  • 打赏
  • 举报
回复
这个例子倒是没问题,测试通过 建议不要这么写
城池523 2013-03-11
  • 打赏
  • 举报
回复
不好意思,我少写了: 那段html代码应该放在form里面。你们可以在测试一下。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> New Document </title> <meta name="Generator" content="EditPlus"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <script type="text/javascript"> <!-- function Fox(){alert("Hello world!");} //--> </script> </head> <body> <form method="post" action=""> <input type="button" name="Fox" onclick="Fox()" value="Click" /> </form> </body> </html>
爱T 2013-03-11
  • 打赏
  • 举报
回复
顶,测试也没什么问题,楼主是不是其他地方有问题呢?
Kilin_Zhang 2013-03-11
  • 打赏
  • 举报
回复
js代码是运行在客户端的,客户端只认识html。跟asp有何关系
城池523 2013-03-11
  • 打赏
  • 举报
回复
引用 3 楼 zhang_7150 的回复:
测试通过,楼主说的问题不存在
请问你是在asp页面中测试的吗?

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧