使用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 相关文章推荐
Javascript代码在页面加载时的执行顺序介绍
May 03 Javascript
JavaScript自定义事件介绍
Aug 29 Javascript
Javascript 字符串模板的简单实现
Feb 13 Javascript
Node.js中Request模块处理HTTP协议请求的基本使用教程
Mar 31 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
Aug 01 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
Aug 06 Javascript
bootstrapfileinput实现文件自动上传
Nov 08 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
Feb 15 Javascript
前端框架学习总结之Angular、React与Vue的比较详解
Mar 14 Javascript
JavaScript制作3D旋转相册
Aug 02 Javascript
BootstrapValidator实现表单验证功能
Nov 08 Javascript
vue使用axios实现excel文件下载的功能
Jul 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根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
PHP时间类完整实例(非常实用)
2015/12/25 PHP
Using the TextRange Object
2006/10/14 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
Jquery 的outerHeight方法使用介绍
2013/09/11 Javascript
JavaScript获取Url里的参数
2014/12/18 Javascript
jQuery关键词说明插件cluetip使用指南
2015/04/21 Javascript
浅谈Jquery为元素绑定事件
2015/04/27 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
JS基于贪心算法解决背包问题示例
2017/11/27 Javascript
vue+swiper实现侧滑菜单效果
2017/12/28 Javascript
Vue脚手架的简单使用实例
2018/07/10 Javascript
JavaScript new对象的四个过程实例浅析
2018/07/31 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
[42:04]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第一局
2016/03/03 DOTA
python中使用enumerate函数遍历元素实例
2014/06/16 Python
python 常用的基础函数
2018/07/10 Python
pycharm中成功运行图片的配置教程
2018/10/28 Python
详解python项目实战:模拟登陆CSDN
2019/04/04 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
2019/06/27 Python
超简单的Python HTTP服务
2019/07/22 Python
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
长曲棍球装备:Lacrosse Monkey
2020/12/02 全球购物
物流专业毕业生推荐信范文
2013/11/18 职场文书
大学生志愿者感言
2014/01/15 职场文书
大学生饮食连锁店创业计划书
2014/01/17 职场文书
装饰工程师岗位职责
2014/06/08 职场文书
党支部活动策划方案
2014/08/18 职场文书
经济纠纷起诉状
2015/05/20 职场文书
如何撰写促销方案?
2019/07/05 职场文书
nginx前后端同域名配置的方法实现
2021/03/31 Servers
Redis 常见使用场景
2021/08/30 Redis
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python