使用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 相关文章推荐
flash 得到自身url参数的代码
Nov 15 Javascript
让textarea自动调整大小的js代码
Apr 12 Javascript
js获取URL的参数的方法(getQueryString)示例
Sep 29 Javascript
Jquery解析json数据详解
Dec 26 Javascript
Grunt入门教程(自动任务运行器)
Aug 06 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
Apr 14 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
Aug 23 Javascript
JS比较两个数值的大小实例
Nov 25 Javascript
nodemon实现Typescript项目热更新的示例代码
Nov 19 Javascript
Vue 组件的挂载与父子组件的传值实例
Sep 02 Javascript
vue3.0 的 Composition API 的使用示例
Oct 26 Javascript
vue中控制mock在开发环境使用,在生产环境禁用方式
Apr 06 Vue.js
基于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实现禁用IE和火狐的缓存问题
2012/12/03 PHP
php数组去重复数据示例
2014/02/25 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
2014/12/15 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
在JavaScript中通过URL传递汉字的方法
2007/04/09 Javascript
关于jquery性能最佳实践的讨论,与求教
2012/03/30 Javascript
JS文本框不能输入空格验证方法
2013/03/19 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
2015/06/14 Javascript
jquery+css实现动感的图片切换效果
2015/11/25 Javascript
基于javascript html5实现多文件上传
2016/03/03 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
js实现数字滚动特效
2019/12/16 Javascript
Python面向对象编程中的类和对象学习教程
2015/03/30 Python
Python中一行和多行import模块问题
2018/04/01 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
2018/07/26 Python
python dict 相同key 合并value的实例
2019/01/21 Python
python使用selenium实现批量文件下载
2019/03/11 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
2019/08/20 Python
Python实现结构体代码实例
2020/02/10 Python
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
如何利用input事件来监听移动端的输入
2016/04/15 HTML / CSS
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
struct与class的区别
2014/02/03 面试题
软件测试有哪些?什么是配置项?
2012/02/12 面试题
电工工作职责范本
2014/02/22 职场文书
团日活动总结范文
2014/04/25 职场文书
图书室标语
2014/06/21 职场文书
师范学院毕业生求职信
2014/06/24 职场文书
群众路线教育实践活动心得体会(四风)
2014/11/03 职场文书
公司给客户的感谢信
2015/01/23 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers