使用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.Validate 使用笔记(jQuery Validation范例 )
Jun 25 Javascript
可恶的ie8提示缺少id未定义
Mar 20 Javascript
JavaScript常用的弹出广告及背投广告实现方法
Feb 06 Javascript
JavaScript File API文件上传预览
Feb 02 Javascript
JavaScript实现图片自动加载的瀑布流效果
Apr 11 Javascript
js实现PC端和移动端刮卡效果
Mar 27 Javascript
jQuery为DOM动态追加事件的方法
Feb 16 Javascript
es6学习笔记之Async函数的使用示例
May 11 Javascript
vue+Element-ui实现分页效果实例代码详解
Dec 10 Javascript
详解JavaScript作用域和作用域链
Mar 19 Javascript
jquery实现淡入淡出轮播图效果
Dec 13 jQuery
jquery插件实现图片悬浮
Apr 16 jQuery
基于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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
PHP中防止直接访问或查看或下载config.php文件的方法
2012/07/07 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
javascript下数值型比较难点说明
2010/06/07 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
怎么清空javascript数组
2013/05/11 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
IE中getElementsByName()对有些元素无效的解决方案
2014/09/28 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
javascript 将共享属性迁移到原型中去的实现方法
2016/08/31 Javascript
jquery实现(textarea)placeholder自动换行
2016/12/22 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
vue嵌套路由与404重定向实现方法分析
2018/05/04 Javascript
JavaScript DOM元素常见操作详解【添加、删除、修改等】
2018/05/09 Javascript
JS实现水平移动与垂直移动动画
2019/12/19 Javascript
JS实现炫酷雪花飘落效果
2020/08/19 Javascript
使用vue构建多页面应用的示例
2020/10/22 Javascript
python3抓取中文网页的方法
2015/07/28 Python
Python lambda函数基本用法实例分析
2018/03/16 Python
详解Python下ftp上传文件linux服务器
2018/06/21 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
Python Scrapy框架第一个入门程序示例
2020/02/05 Python
世界上最大的在线汽车租赁预订平台:Rentalcars.com(支持中文)
2018/10/12 全球购物
马德里著名的运动鞋商店:NOIRFONCE
2019/04/12 全球购物
COSETTE官网:奢华,每天
2020/03/22 全球购物
什么是Linux虚拟文件系统VFS
2012/01/31 面试题
《红军不怕远征难》教学反思
2014/04/14 职场文书
2015年清明节演讲稿范文
2015/03/17 职场文书
幼师辞职信范文大全
2015/05/12 职场文书
基于Nginx实现限制某IP短时间访问次数
2021/03/31 Servers