使用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 相关文章推荐
IE中直接运行显示当前网页中的图片 推荐
Aug 31 Javascript
js 分页全选或反选标识实现代码
Aug 09 Javascript
复选框全选与全不选操作实现思路
Aug 18 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
Sep 19 Javascript
详解iframe与frame的区别
Jan 13 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
Jan 14 Javascript
jQuery实现级联下拉框实战(5)
Feb 08 Javascript
大白话讲解JavaScript的Promise
Apr 06 Javascript
浅析Vue.js 中的条件渲染指令
Nov 19 Javascript
Vue实现类似Spring官网图片滑动效果方法
Mar 01 Javascript
JavaScript浅层克隆与深度克隆示例详解
Sep 01 Javascript
解决ant Design Search无法输入内容的问题
Oct 29 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
重量级动漫纷纷停播!唯独OVERLORD第四季正在英魂之刃继续更新
2020/05/06 日漫
php中批量修改文件后缀名的函数代码
2011/10/23 PHP
PHP变量赋值、代入给JavaScript中的变量
2015/06/29 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
2017/06/08 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
在js(jquery)中获得文本框焦点和失去焦点的方法
2012/12/04 Javascript
javascript改变position值实现菜单滚动至顶部后固定
2013/01/18 Javascript
jQuery中:lt选择器用法实例
2014/12/29 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
jQuery EasyUI Dialog拖不下来如何解决
2015/09/28 Javascript
跟我学习javascript的this关键字
2020/05/28 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
微信小程序 location API实例详解
2016/10/02 Javascript
详解利用 Vue.js 实现前后端分离的RBAC角色权限管理
2017/09/15 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
2018/02/03 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
Mint UI组件库CheckList使用及踩坑总结
2018/12/20 Javascript
微信小程序开发摇一摇功能
2019/11/22 Javascript
Vue移动端实现图片上传及超过1M压缩上传
2019/12/23 Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
2020/04/15 Javascript
PYTHON压平嵌套列表的简单实现
2016/06/08 Python
网易2016研发工程师编程题 奖学金(python)
2019/06/19 Python
django删除表重建的实现方法
2019/08/28 Python
探秘TensorFlow 和 NumPy 的 Broadcasting 机制
2020/03/13 Python
python实现俄罗斯方块小游戏
2020/04/24 Python
python爬虫破解字体加密案例详解
2021/03/02 Python
zooplus意大利:在线宠物商店
2019/08/07 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
EJB3推出JPA的原因
2013/10/16 面试题
品质主管的岗位职责
2013/12/04 职场文书
生产总经理岗位职责
2013/12/19 职场文书
毕业晚会主持词
2014/03/24 职场文书
党的群众路线教育实践方案
2014/05/11 职场文书
计算机毕业生自荐信
2014/06/12 职场文书
校运会班级霸气口号
2015/12/24 职场文书
vue router 动态路由清除方式
2022/05/25 Vue.js