jQuery模拟超链接的用户单击事件

在正式开始本文之前,先来简单介绍下HTML的<a>标签:

使用<a>标签,我们可以在HTML页面上定义锚(anchor),锚有两种用法:

通过使用 href 属性,创建指向另外一个文档的链接(或超链接)

通过使用 name 或 id 属性,创建一个文档内部的书签(也就是说,可以创建指向文档片段的链接)

本文的内容与锚的第一种用法有关。

 
 
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="Web.WebForm2" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head id="Head1" runat="server">
  5. <title></title>
  6. <script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
  7. <script type="text/javascript">
  8. $(document).ready(function () {
  9. // 单击spanAGo,调用超链接的单击事件
  10. $('#spanAGo').click(function () {
  11. $('#aGo').click();
  12. });
  13. });
  14. </script>
  15. </head>
  16. <body style="font-size: 12px;">
  17. <form id="form1" runat="server">
  18. <div>
  19. <a id="aGo" href="http://www.cnblogs.com/return8023/">剑过不留痕 - 博客园</a>
  20. <br />
  21. <br />
  22. <span id="spanAGo" style="border: 1px solid black;">点击我,将调用以上超链接的单击事件</span>
  23. </div>
  24. </form>
  25. </body>
  26. </html>

以上代码的运行效果如下图所示:

点击超链接,页面可以正常跳转;

但点击标签,页面却不可以跳转;

以上,在IE8和Chrome里都无法跳转(其他浏览器未测试)。

所以,接下来要实现的效果,就是在点击标签的时候让页面跳转(也就是在调用超链接的单击事件时,让页面跳转),且写的代码要少,且最好是在一个地方处理,一个项不可能就一个页面,一个页面不可能就一个超链接,且不能做的太死,怎么说锚的另一个作用是书签,别链接是可以跳转了,锚的书签作用被屏蔽了,且……。

 
 
  1. a.forward
  2. {
  3. }
 
 
  1. Main.js
  2. /// <reference path="jquery-1.4.1-vsdoc.js" />
  3. $(document).ready(function () {
  4. // 使超链接支持click事件,方便JavaScript调用
  5. $('a.forward').click(function () {
  6. location.href = $(this)[0].href;
  7. return false;
  8. });
  9. });

修改过后的页面源码如下:

 
 
  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="Web.WebForm2" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head id="Head1" runat="server">
  5. <title></title>
  6. <link type="text/css" rel="Stylesheet" href="Styles/Main.css" />
  7. <script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
  8. <script type="text/javascript" src="Scripts/Main.js"></script>
  9. <script type="text/javascript">
  10. $(document).ready(function () {
  11. // 单击spanAGo,调用超链接的单击事件
  12. $('#spanAGo').click(function () {
  13. $('#aGo').click();
  14. });
  15. });
  16. </script>
  17. </head>
  18. <body style="font-size: 12px;">
  19. <form id="form1" runat="server">
  20. <div>
  21. <a id="aGo" class="forward" href="http://www.cnblogs.com/return8023">剑过不留痕 - 博客园</a>
  22. <br />
  23. <br />
  24. <span id="spanAGo" style="border: 1px solid black;">点击我,将调用以上超链接的单击事件</span>
  25. </div>
  26. </form>
  27. </body>
  28. </html>

运行一下(截图略),点击标签,页面完美跳转,(*^__^*) 嘻嘻

好了,最后来总结一下,模拟超链接的用户单击事件,我们需要做的就是:

导入外部CSS文件,Main.css,导入外部JavaScript文件Main.js(必须在导入JQuery文件之后导入);

给超链接添加CSS类“forward”;

然后3是什么呢?然后想不出来然后了。

最后祝大家敲代码愉快。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值