这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
很多人都曾经这么使用 Javascript
不要行内写 js 是因为这样很不安全,因为用火狐的 firebug 可以轻松让代码失效,下面告诉大家为什么
- <a href="#" onclick="al()">
- 保存
- </a>
上面的代码,很方便使用,所有浏览器都支持 虽然我很早就看过一些书,说 html,CSS,js 分开来,比较容易维护,但是我贪图方面,还是经常这么写,不过我今天用火狐调试的时候发现,还是不要行内写了,因为这样很不安全,因为用火狐的 firebug 可以轻松让代码失效! 下面看一下为什么:
- <html>
- <head>
- <script>
- function al() {
- alert("good");
- }
- </script>
- </head>
- <body>
- <a href="#" onclick="al()">
- 保存
- </a>
- </body>
- </html>
上面的代码是点击标签弹出对话框 效果如图:
但是如果我在火狐里面找到 a 标签并把里面的 js 代码去掉的话,在单击 a 标签就不会弹出对话框了,如下图
所以假如你这个单击事件是判断用户输入数据是否合法的话,那么就无法判断了 本人是做 asp.net 的,今天就发现这个问题,因为 asp.net 服务器控件,有两个单击事件,一个前台一个后台的,我用前台的单击事件判断用户的输入数据,合法的话调用后台事件,结果用火狐调试,就发现了上面介绍的现象,即使数据不合法也直接调用后台方法了,也许我这个不是什么技术,不过我为自己发现这个问题而高兴,特此发文章分享一下,哈哈 解决方法: 给 a 标签个 id ,如下面就可以了
- <a id="a1" href="#">
- 保存
- </a>
- <script>
- document.getElementById("a1").onclick = function() {}
- </script>
来源: http://www.phperz.com/article/17/0422/276292.html