本文译者注
下面的一小段文章,说明了在HTML标签中加入带有返回值的Onclick事件,当返回值为false时,对原标签的影响。在文章最后一段用到了Prototype,很遗憾本人并没有使用过此框架,翻译的可能有失准确。
这是本人第一次翻译文章,英文水平,JS水平均有限,也只是练习性质的翻译,如有不妥之处,感谢留言相告。
这是本人第一次翻译文章,英文水平,JS水平均有限,也只是练习性质的翻译,如有不妥之处,感谢留言相告。
在HTML代码中,无论你在哪里放置了onclick事件,并且返回值为false时,那么该处的默认行为将不会执行。这里的默认行为是指没有Onclick事件时原本的行为。
举一个例子:
<a href="http://www.nojs.com" οnclick="doSomething(); return false;">Click Me</a>
在上面的例子中,如上面所说点击(click)这个链接,那么动作进行将会截止到doSomething()函数全部完成,而并不会继续跳转到"http://www.nojs.com"(除非IE等浏览器端禁用了JavaScript)。
为了让上面的例子继续进行下一步,我们可以放置一个confirm函数强迫用户去决定他们是否愿意继续跳转,如果用户选择“是”,那么函数返回ture,页面跳转到“http://www.nojs.com”。
如下面这个例子:
<a href="http://www.nojs.com" οnclick="return confirm('Are you sure you want to do that?');">Click Me</a>
最后还有个小技巧,当我用AJAX或触发一个div时,出现了一个让我恼火的情况,我点击了链接并且click事件已经完成,虽然链接没有跳转但还是变成了还是被选中过的颜色。虽然这无关紧要,但还是有一个办法可以不让这个发生,简单的说,可以模糊(blur)这个焦点让他看上去不是焦点
来看一个简单的例子:
<a href="" id="bjd" οnclick="Element.toggle('MyDiv'); $('bjd').blur(); return false;">Toggle MyDiv</a>
在上面这个例子里使用了prototype,如果你不了解prototype,你可以访问这个链接来了解一下Prototype
原文地址