a标签跳转和执⾏js函数,href和onclick属性
<a href="javascript:void(0)" onclick="subgo()">点我</a>
链接的onclick 事件被先执⾏,其次是href属性下的动作(页⾯跳转,或 javascript 伪链接);
假设链接中同时存在href 与onclick,如果想让href 属性下的动作不执⾏,onclick 必须得到⼀个false的返回值;
如果页⾯过长有滚动条,且希望通过链接的 onclick 事件执⾏操作。应将它的 href 属性设为
javascript:void(0);,⽽不要是 #,这可以防⽌不必要的页⾯跳动;
如果在链接的 href属性中调⽤⼀个有返回值的函数,当前页⾯的内容将被此函数的返回值代替;在按住Shift键的情况下会有所区别。
今天我遇到的问题,在IE6.0⾥以href的形式访问不到parentNode。
尽量不要⽤javascript:协议做为A的href属性,这样不仅会导致不必要的触发beforeunload事件,在IE⾥⾯更会使gif动画图⽚停⽌播放。
在中void是⼀个操作符,该操作符指定要计算⼀个表达式但是不返回值。
void 操作符⽤法格式如下:
1. javascript:void (expression)
2. javascript:void expression
expression 是⼀个要计算的 Javascript 标准的表达式。表达式外侧的圆括号是选的,但是写上去是⼀个好习惯。 (实现版本 Navigator 3.0)你可以使⽤ void 操作符指定超级链接。表达式会被计算但是不会在当前⽂档处装⼊任何内容。
下⾯的代码创建了⼀个超级链接,当⽤户点击以后不会发⽣任何事。当⽤户链接时,void(0) 计算为 0,但 Javascript 上没有任何效果。
<A HREF="javascript:void(0)">单此处什么也不会发⽣</A>
下⾯的代码创建了⼀个超级链接,⽤户单击时会提交表单。
<A HREF="javascript:void(document.form.submit())">
单此处提交表单
下⾯代码则执⾏了subgo()函数,
<a href="javascript:void(0)" onclick="subgo()">点我</a>
在这⾥,javascript:void(0),没启实质上的作⽤,它仅仅是⼀个死链接,执⾏的函数是subgo()。
html href属性<a href="#" onclick="subgo()">点我</a>与<a href="javascript:void(0)" onclick="subgo()">点我</a>区别。
实际上 #包含了⼀个位置信息默认的锚是#top 也就是⽹页的上端,⽽javascript:void(0) 仅仅表⽰⼀个死链接,没有任何信息。所以调⽤脚本的时候最好⽤void(0)
href⼀般是指向⼀个URL地址,也可以调⽤javascript ,如href=”javascript:xxx();”,⽂档中推荐这样写:,但是这种⽅法在复杂环境有时会产⽣奇怪的问题,尽量不要⽤javascript:协议做为A的href属性,这样不仅会导致不必要的触发beforeunload事件,在IE⾥⾯更会使gif动画图⽚停⽌播放。
链接的 onclick 事件被先执⾏,其次是 href 属性下的动作(页⾯跳转,或 javascript 伪链接),如果不想让href 属性下的动作执⾏,onclick 需要要返回 false ,⼀般是这样写onclick=”xxx();return false;”.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论