关于<a>的onclick与href的疑问
使用html的<a>标签时,发现了onclick与href的一个不同之处,百思不得其解,请明白人指点一上,不胜感激。
有"%e4%b8%ad%e5%9b%bd"这么一个字符串,在<a>里对它进行alert(),试了下面两种作法:
1、<a href="javascript:alert('%e4%b8%ad%e5%9b%bd');">1</a>
2、<a href="#" onclick="alert('%e4%b8%ad%e5%9b%bd');return false;">2</a>
第2种方法工作正常。但第1种方法alert出的内容不是"%e4%b8%ad%e5%9b%bd",而是一串乱码,好像javascript要把这串字符decodeURI成gb2312文字。(字符串里的内容是对utf-8格式的文字"中国"进行UrlEncode操作得到的)
请教一下,是不是javascript的规范规定了对<a>的href属性自动执行decodeURI?
我没能找到这方面的相当文档,请知情者赐教,万分感谢!
------解决方案--------------------
这个和href有关系的,它会自动进行字符编码设置,你可以,看看我们搜索某个汉字的时候,无论百度还是谷歌的url都是正则表达式
但是onclick就不一样了,它就是js的打印字符串,无论你写什么都是回打印出来什么的
------解决方案--------------------不是正则,是Unicode编码格式