使用JQuery和CSS模拟超链接的用户单击事件的实现代码


Posted in Javascript onMay 23, 2012

在正式开始本文之前,先来简单介绍下HTML的<a>标签:使用<a>标签,我们可以在HTML页面上定义锚(anchor),锚有两种用法:
通过使用 href 属性,创建指向另外一个文档的链接(或超链接)
通过使用 name 或 id 属性,创建一个文档内部的书签(也就是说,可以创建指向文档片段的链接)
本文的内容与锚的第一种用法有关。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="Web.WebForm2" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
<title></title> 
<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function () { 
// 单击spanAGo,调用超链接的单击事件 
$('#spanAGo').click(function () { 
$('#aGo').click(); 
}); 
}); 
</script> 
</head> 
<body style="font-size: 12px;"> 
<form id="form1" runat="server"> 
<div> 
<a id="aGo" href="https://3water.com/">三水点靠木</a> 
<br /> 
<br /> 
<span id="spanAGo" style="border: 1px solid black;">点击我,将调用以上超链接的单击事件</span> 
</div> 
</form> 
</body> 
</html>

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

使用JQuery和CSS模拟超链接的用户单击事件的实现代码

点击超链接,页面可以正常跳转;但点击标签,页面却不可以跳转;以上,在IE8和Chrome里都无法跳转(其他浏览器未测试)。所以,接下来要实现的效果,就是在点击标签的时候让页面跳转(也就是在调用超链接的单击事件时,让页面跳转),且写的代码要少,且最好是在一个地方处理,一个项目不可能就一个页面,一个页面不可能就一个超链接,且不能做的太死,怎么说锚的另一个作用是书签,别链接是可以跳转了,锚的书签作用被屏蔽了,且……。

使用JQuery和CSS模拟超链接的用户单击事件的实现代码

Main.css
a.forward 
{ 
}

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

修改过后的页面源码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="Web.WebForm2" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
<title></title> 
<link type="text/css" rel="Stylesheet" href="Styles/Main.css" /> 
<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script> 
<script type="text/javascript" src="Scripts/Main.js"></script> 
<script type="text/javascript"> 
$(document).ready(function () { // 单击spanAGo,调用超链接的单击事件 
$('#spanAGo').click(function () { 
$('#aGo').click(); 
}); 
}); 
</script> 
</head> 
<body style="font-size: 12px;"> 
<form id="form1" runat="server"> 
<div> 
<a id="aGo" class="forward" href="https://3water.com">三水点靠木</a> 
<br /> 
<br /> 
<span id="spanAGo" style="border: 1px solid black;">点击我,将调用以上超链接的单击事件</span> 
</div> 
</form> 
</body> 
</html>

运行一下(截图略),点击标签,页面完美跳转,(*^__^*) 嘻嘻好了,最后来总结一下,模拟超链接的用户单击事件,我们需要做的就是:
导入外部CSS文件,Main.css,导入外部JavaScript文件Main.js(必须在导入JQuery文件之后导入);
给超链接添加CSS类“forward”;
然后3是什么呢?然后想不出来然后了。
最后祝大家敲代码愉快。

首发:博客园->剑过不留痕

Javascript 相关文章推荐
jquery操作HTML5 的data-*的用法实例分享
Aug 17 Javascript
浅谈js中的闭包
Mar 16 Javascript
详解AngularJS如何实现跨域请求
Aug 22 Javascript
jQuery事件绑定方法学习总结(推荐)
Nov 21 Javascript
利用vue-router实现二级菜单内容转换
Nov 30 Javascript
微信小程序图表插件(wx-charts)实例代码
Jan 17 Javascript
Vue.js 中的 $watch使用方法
May 25 Javascript
vue的基本用法与常见指令
Aug 15 Javascript
详解如何去除vue项目中的#——History模式
Oct 13 Javascript
vue-cli脚手架build目录下utils.js工具配置文件详解
Sep 14 Javascript
JS数组扁平化、去重、排序操作实例详解
Feb 24 Javascript
详解CocosCreator消息分发机制
Apr 16 Javascript
基于jquery tab切换(防止页面刷新)
May 23 #Javascript
jQuery下通过replace字符串替换实现大小图片切换
May 22 #Javascript
js面向对象 多种创建对象方法小结
May 21 #Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
May 20 #Javascript
游览器中javascript的执行过程(图文)
May 20 #Javascript
js中scrollHeight,scrollWidth,scrollLeft,scrolltop等差别介绍
May 16 #Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
May 14 #Javascript
You might like
PHP实现文件安全下载
2006/10/09 PHP
php采集神器cURL使用方法详解
2016/02/19 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
PHP implode()函数用法讲解
2019/03/08 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
javascript document.images实例
2008/05/27 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
js控制表单不能输入空格的小例子
2013/11/20 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
JavaScript多线程详解
2015/08/12 Javascript
AngularJS入门之动画
2016/07/27 Javascript
etmvc+jQuery EasyUI+combobox多值操作实现角色授权实例
2016/11/09 Javascript
vue-resource拦截器设置头信息的实例
2017/10/27 Javascript
vue-cli + sass 的正确打开方式图文详解
2017/10/27 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
简谈创建React Component的几种方式
2019/06/15 Javascript
js全屏事件fullscreenchange 实现全屏、退出全屏操作
2019/09/17 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
Vuex的各个模块封装的实现
2020/06/05 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
深入理解Python3中的http.client模块
2017/03/29 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
python web框架 django wsgi原理解析
2019/08/20 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
Python 实现向word(docx)中输出
2020/02/13 Python
Python实现计算图像RGB均值方式
2020/06/04 Python
很酷的HTML5电子书翻页动画特效
2016/02/25 HTML / CSS
英国女性时尚精品店:THE DRESSING ROOM
2018/05/23 全球购物
澳大利亚礼品篮网站:Macarthur Baskets
2019/10/14 全球购物
中学自我评价
2014/01/31 职场文书
先进集体事迹材料
2014/02/17 职场文书
最新离婚协议书范本
2014/08/19 职场文书
违纪检讨书范文
2015/01/27 职场文书
一小时迅速入门Mybatis之bind与多数据源支持 Java API
2021/09/15 Javascript
Tomcat弱口令复现及利用
2022/05/06 Servers