使用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 相关文章推荐
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
Apr 15 Javascript
修改file按钮的默认样式实现代码
Apr 23 Javascript
javascript实现简易计算器的代码
May 31 Javascript
AngularJS 中的Promise --- $q服务详解
Sep 14 Javascript
vue2.0+webpack环境的构造过程
Nov 08 Javascript
vue.js单页面应用实例的简单实现
Apr 10 Javascript
深究AngularJS中$sce的使用
Jun 12 Javascript
JavaScript操作文件_动力节点Java学院整理
Jun 30 Javascript
vue 组件高级用法实例详解
Apr 11 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
Jul 20 Javascript
vue h5移动端禁止缩放代码
Oct 28 Javascript
vue prop属性传值与传引用示例
Nov 13 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
【动漫杂谈】关于《请在T台上微笑》
2020/03/03 日漫
PHP Oauth授权和本地加密实现方法
2016/08/12 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
JQuery 实现的页面滚动时浮动窗口控件
2009/07/10 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
2013/12/02 Javascript
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
JavaScript实现移动端轮播效果
2017/06/06 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
jq.ajax+php+mysql实现关键字模糊查询(示例讲解)
2018/01/02 Javascript
JavaScript运行原理分析
2018/02/09 Javascript
使用Angular CLI生成路由的方法
2018/03/24 Javascript
vue实现百度搜索功能
2020/12/28 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
Python循环语句之break与continue的用法
2015/10/14 Python
Python实现Youku视频批量下载功能
2017/03/14 Python
Linux RedHat下安装Python2.7开发环境
2017/05/20 Python
python人民币小写转大写辅助工具
2018/06/20 Python
python实现俄罗斯方块游戏
2020/03/25 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
Python语法分析之字符串格式化
2019/06/13 Python
Python爬取股票信息,并可视化数据的示例
2020/09/26 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
惠普加拿大在线商店:HP加拿大
2017/09/15 全球购物
台湾流行服饰购物平台:OB严选
2018/01/21 全球购物
C# .NET面试题
2015/11/28 面试题
初中班主任评语
2014/04/24 职场文书
万能检讨书开头与结尾怎么写
2015/02/17 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android