有些时候,我们想实现这样的一种效果:
<a href="imgs/2.jpg" title="A fireworks display" onclick="showPic(this);">Fireworks</a>
点击一个链接,调用一个函数,但由于这个链接的路径是图片,点击后是直接跳转到图片的页面的,怎样才能使得不会这样发生呢?
分析:需要对事件处理函数的工作机制有进一步的里了解:在给某个元素添加了事件处理函数后,一旦发生预定事件,相应的JavaScript代码就会得到执行;那些JavaScript代码可以返回一个结果,而这个结果将被传递回那个事件处理函数。例如,给某个链接添加一个onclick事件处理函数,并让这个处理函数所触发的JavaScript代码返回布尔值true或false。这样一来,当这个链接被点击时,如果那段JavaScript代码返回给onclick事件处理函数的值是true,onclick事件处理函数将认为“这个链接被点击了”;反之,如果那段JavaScript代码返回给onclick处理函数的值是false,onclick事件处理函数将认为“这个链接没有被点击”。
处理:在onclick事件处理函数所触发的JavaScript代码里增加一条return false语句,就可以不让用户被他们所点击的链接带到另外一个图片查看窗口去了:
<a href="imgs/2.jpg" title="A fireworks display" onclick="showPic(this);return false;">Fireworks</a>