超链接中的onclick和href链接⽅法
链接的 onclick 事件被先执⾏,其次是 href 属性下的动作(页⾯跳转,或 伪链接);
假设链接中同时存在 href 与 onclick,如果想让 href 属性下的动作不执⾏,onclick 必须得到⼀个 false 的返回值。不信,你可以将goGoogle 函数中的 return false 注释掉;
如果页⾯过长有滚动条,且希望通过链接的 onclick 事件执⾏操作。应将它的 href 属性设为 javascript:void(0);,⽽不要是 #,这可以防⽌不必要的页⾯跳动;
如果在链接的 href 属性中调⽤⼀个有返回值的函数,当前页⾯的内容将被此函数的返回值代替;
在按住Shift键的情况下会有所区别。
今天我遇到的问题,在IE6.0⾥以href的形式访问不到parentNode。
尽量不要⽤javascript:协议做为A的href属性,这样不仅会导致不必要的触发beforeunload事件,在IE⾥⾯更会使gif动画图⽚停⽌播放
下⾯是⾃⼰遇到的:
如果不设置 href属性在IE6下⾯会不响应hover。双击后会选中标签的⽗容器⽽⾮这个⼀a标签(IE下都存在这⼀问题)。
<a href="javascirpt:fn(this)"> <a οnclick="fn(this)"> 假定我们有个fn⽅法,需要取到这个元素,第⼀个⽅法传⼊的this是空值。
所以,⽐较推荐的写法是<a href="javascript:void(0)" οnclick="fn(this)">
下⾯代码则执⾏了subgo()函数,
<a href="javascript:void(0)" οnclick="subgo()">点我</a>
在这⾥,javascript:void(0),没启实质上的作⽤,它仅仅是⼀个死链接,执⾏的函数是subgo()。
<a href="blog.163/wb_zhaoyuwei/blog/#" οnclick="subgo()">点我</a>与<a href="javascript:void(0)"
οnclick="subgo()">点我</a>区别。
实际上 #包含了⼀个位置信息默认的锚是#top 也就是⽹页的上端 ,⽽javascript:void(0) 仅仅表⽰⼀个死链接,没有任何信息。所以调⽤脚本的时候最好⽤void(0)
href⼀般是指向⼀个URL地址,也可以调⽤javascript ,如href="javascript:xxx();",⽂档中推荐这样写:<a
href="blog.163/wb_zhaoyuwei/blog/ javascript:void(0)" οnclick="xxx();">xx</a>,但是这种⽅法在复杂环境有时会产⽣奇怪的问题,尽量不要⽤javascript:协议做为A的href属性,这样不仅会导致不必要的触发beforeunload事件,在IE⾥⾯更会使gif动画图⽚停⽌播放。
我们知道链接的 onclick 事件被先执⾏,其次是 href 属性下的动作(页⾯跳转,或 javascript 伪链接),如果不想执⾏href 属性下的动作执⾏,onclick 需要要返回 false ,⼀般是这样写οnclick="xxx();return false;".
TabPane的JS源码,由于onclick没有返回FALSE,当IFRMAE中关闭TABPANE时会导致href执⾏,页⾯显⽰有问题。解决办法就是将下⾯代码复制到使⽤TAB的JSP中。
------------------------------------------------------------------------------------------------------------------------------------------
⾄于其他楼说的【IE8中,如:"javascript:;","javascript:void(0)","javascript:void(null)"都被拒绝】因为没有安装IE8,不敢妄下结论。
-
-----------------------------------------------------------------------------------------------------------------------------------------
如果在实际应⽤中确实是要⽤到<a>标签来响应onclick事件的。
那么就建议使⽤下⾯三种⽅法
1.<a href="javascript:void(0)" οnclick="doSomething()">test</a>
2.<a href="blog.16
3/wb_zhaoyuwei/blog/" οnclick="doSomething();return false">test</a>
3.<a href="blog.163/wb_zhaoyuwei/blog/" οnclick="doSomething();urnValue=false">test</a>
--------------------------------------------------------------------------------------------------
超级链接<a>标记代表⼀个链接点,是英⽂anchor(锚点)的简写。它的作⽤是把当前位置的⽂本或图⽚连接到其他的页⾯、⽂本或图像,这已是众所周知了,但关于它的语法结构可能有点鲜为⼈知,⽽要⽤活它则必须了解其语法结构。<a>标记的基本语法结构是:
<a
class=type
id=value
href=reference
name=value
rel=same|next|parent|previous
rev=value
target=window
style=value
title=title
onclick=function
onmouseout=function
onMouseOver=function>连接</a>
从标记的语法结构可以看出,在设定⼀个超级链接时有很多参数可供选择,以实现不同的链接效果,这有点出乎意料吧?!
其中class和id选项:⽤于设定链接点所属的类型和分配的ID号,通常不加以设定。最常⽤的两个参数是href和name。其中href是hypertext reference的缩略词,⽤于设定链接地址。链接地址必须为url地址,如果没有给出具体路径,则默认路径和当前页的路径相同。链接到的⽂件也分为⼏种情况:如果为HTML⽂件,则在当前浏览器中直接打开;如果为可执⾏⽂件(.exe⽂件),则直接执⾏或下载,我们提供下载的⽂件就是⽤它的这种特性做的;如果为⽂本⽂件如word格式的⽂件,则在浏览器中打开此⽂件,并可以进⾏编辑加⼯。
rel:表⽰设定链接的关系:rel=same表⽰待链接的⽂件与此⽂件相同,rel=next表⽰待链接的⽂件为下⼀页,rel=parent表⽰本⽂件为待链接⽂件的⽗⽂件,rel=previous则表⽰待链接的⽂件为上⼀页。
rev:则⽤于设定反向链接。
target:是在采⽤帧窗⼝的情况下设定链接到哪⼀个窗⼝,还有target="_bank"是表⽰新开⼀窗⼝打开
⽹页。
title:⽤于设定链接点被选到时显⽰的标题。
onclick:对应于⼀个事件,当链接点被点击后将触发这个事件,执⾏对应的⼦程序。
onmouseover:与onclick类似,对应的事件在⿏标移到链接点上时被触发。
onmouseout:对应的事件在⿏标移出镇接点后被触发。
举⼏个例⼦:
<a href="blog.163/wb_zhaoyuwei/blog/index.htm">回到主页</a>
<a href="blog.163/wb_zhaoyuwei/blog/sound.wav">播放语⾳⽂件</a>
<a href="blog.163/wb_zhaoyuwei/blog/javascipt.open()">执⾏对应的程序</a>
<a herf="document.doc">打开对应的⽂档进⾏加⼯</a>
应⽤技巧
1、提供下载⽂件
有不少⽹友来信问,提供下载的效果怎么做。实际上仍然是做⼀个超级链接,不过供下载的⽂件必须上传到⽹站上。例:有⼀个“⽹页技巧”的⽂件包供下载,⽂件名是“homepagejq.zip”且已上传到⽹站了,则这个链接的代码可以这样写:<a
href="blog.163/wb_zhaoyuwei/blog/homepagejq.zip">点击这⾥下载“⽹页技巧”⽂件包</a>。
2、在新窗⼝中打开链接的⽹页
设定“target”的值为“_blank”。例:新开窗⼝打开⽹页“aboutme.htm”。产⽣该效果的代码是:<a
href="blog.163/wb_zhaoyuwei/blog/aboutme.htm" target="_blank">关于我......</a>。html href属性
3、⿏标移到链接,显⽰⼀⾏说明⽂字
设定“title”参数值,即可获得这种效果。例:当⿏标移到“黄⼭村夫”这个链接上时,显⽰说明“这是⼀个介绍⽹页制作技巧的专业⽹站”。这个链接的代码是这样的:<a href="blog.163/wb_zhaoyuwei/blog/hscf.htm" title="这是⼀个介绍⽹页制作技巧的专业⽹站">黄⼭村夫</a>。
4、⿏标移到⼀个链接上弹出⼀个窗⼝
这是设定onmouseover参数获得的效果。例:当⿏标移到⼀个链接上,弹出⼀个窗⼝并在窗⼝中显⽰“⿏标悬停效果演⽰!”。这个链接的代码是这样的:<a href="blog.163/wb_zhaoyuwei/blog/其它⽹页.htm" οnmοuseοver="alert('⿏标悬停效果演
⽰!')">链接</a>。⽤类似的⽅法可以制作当⿏标按下后弹出提出⽰窗⼝、当⿏标离开时弹出提⽰窗⼝的效果。
5、链接到本页的指定内容
要实现链接到本页的某⼀部分内容上(也就是“⽂件内跳转”),必须⽤参数name指定链接点的名称。选定⼀块⽂本,可以⽤name参数为其命名,以备 链接所⽤。所谓同⼀个⽂件内的跳转是指当读者在阅读⼀个很长的⽂件的时候,若只对某部分的内容感兴趣,可以采⽤跳跃式的阅读⽅式。其基本格式是:
<a href="#链接点名称">第⼆部分</a>第⼀部分内容......
...........................................
<a name="链接点名称"></a>第⼆部分实际内容......
...........................................
这样当你点击“第⼆部分”这个超级链接后,就会⾃动转移到“第⼆部分实际内容”这个地⽅来。“name”参数所定义的链接点名称可以随意取,但链接的“href”参数中的链接点名称必须与其⼀致,不要忘记在前⾯加上“#”。
6、链接到其它页⾯的指定内容位置
⽅法与上例类似,但在“href”参数中的链接点名称前要加上⽹页的⽂件名。例:有两个⽹页page1.htm和page2.htm ,每页均有两部分内容,现要在page1.htm中制作⼀个超级链接,按下该链接后将转到page2.htm的第⼆部分内容上。那么我们可以这样做,⾸先在
page2.htm第⼆部分内容开始的地⽅写上这样⼀句代码:<a name="链接点名称"></a>;在page1.htm中写上这样⼀个链接代码:<a
href="blog.163/wb_zhaoyuwei/blog/pagw2.htm#链接点名称">page2 的第⼆部分内容</a>。
7、链接到E_mail
点击⼀个超级链接后,将启动客户机上的电⼦邮件管理软件给你写信。例这⾏代码:<a href="mailto:web@webjx">请给我写信
</a>。⼀旦你点击了“请给我写信”这个链接,将⾃动启动电⼦邮件管理软件(如OE)的写信功能,并已把邮件地址加在了收信⼈的地址栏⾥了。
链接不仅可以以⽂本作载体,也可以以图象作载体,⽽且可以以图⽚的某⼀部分作载体,且都能实现上述这些效果,⽅法也相同,所不同只是载体,也就是链接的两对⽅括号中间的那部分,所以不再另举例了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论