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

开发 前端
模拟超链接的用户单击事件,我们需要做的就是:导入外部CSS文件,Main.css,导入外部JavaScript文件Main.js(必须在导入JQuery文件之后导入);

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

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

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

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

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

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="Web.WebForm2" %> 
  2.    
  3.  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  4.  <html xmlns="http://www.w3.org/1999/xhtml"> 
  5.  <head id="Head1" runat="server"> 
  6.      <title></title> 
  7.      <script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script> 
  8.      <script type="text/javascript"> 
  9.          $(document).ready(function () {  
  10.    
  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" 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> 

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

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

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

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

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

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

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

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

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

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

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

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

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

***祝大家敲代码愉快。

原文链接:http://www.cnblogs.com/return8023/archive/2012/05/19/2509177.html

【编辑推荐】

  1. 印象深刻的jQuery手风琴效果应用
  2. 支持同一页面多次使用的jQuery插件
  3. jQuery基本事件代码优化
  4. jQuery可多次使用的***插件
  5. jQuery从入门到精通
责任编辑:张伟 来源: 剑过不留痕的博客
相关推荐

2010-08-23 10:30:05

CSS超链接

2011-05-30 14:54:46

Android 单击事件

2012-09-06 09:22:54

测试链接域名

2010-01-15 18:12:28

VB.NET超链接

2021-08-02 14:37:36

鸿蒙HarmonyOS应用

2011-07-19 17:09:44

jQuery Mobi事件

2020-11-20 07:05:26

微信腾讯移动应用

2010-08-30 13:29:06

超链接CSS

2010-08-24 13:05:23

CSS超链接

2013-12-02 15:21:30

jQuery插件

2013-12-02 14:33:41

jQuery事件

2012-05-14 10:14:42

WinForm

2017-12-04 13:30:12

Linux文件系统链接

2009-07-17 17:33:22

jQuery

2010-08-02 09:38:43

jQuery

2021-03-16 10:00:40

JavaScript用户登录表单JavaScript基

2021-10-19 09:31:19

Javascript 登录表单前端

2009-07-29 09:17:12

jQuery删除

2012-04-26 13:12:09

jQuery代码优化

2010-08-12 09:45:33

jQuery自定义事件
点赞
收藏

51CTO技术栈公众号