使用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 模式对话框终极版实现代码
Sep 28 Javascript
JS高级笔记
Jul 13 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
Jul 17 Javascript
jquery背景跟随鼠标滑动导航
Nov 20 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
Dec 18 Javascript
jQuery 特性操作详解及实例代码
Sep 29 Javascript
HTML中使背景图片自适应浏览器大小实例详解
Apr 06 Javascript
详解Angular中的自定义服务Service、Provider以及Factory
Apr 22 Javascript
JS中定位 position 的使用实例代码
Aug 06 Javascript
如何使用VuePress搭建一个类型element ui文档
Feb 14 Javascript
js实现一个简易计算器
Mar 30 Javascript
VScode格式化ESlint方法(最全最好用方法)
Sep 10 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&amp;mysql(一)
2006/10/09 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
php生成shtml类用法实例
2014/12/09 PHP
ThinkPHP函数详解之M方法和R方法
2015/09/10 PHP
Zend Framework缓存Cache用法简单实例
2016/03/19 PHP
jquery 表单下所有元素的隐藏
2009/07/25 Javascript
全面解析Bootstrap布局组件应用
2016/02/22 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
JavaScript 判断iPhone X Series机型的方法
2019/01/28 Javascript
jQuery表单元素过滤选择器用法实例分析
2019/02/20 jQuery
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
简洁的十分钟Python入门教程
2015/04/03 Python
Python 爬虫的工具列表大全
2016/01/31 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
Django vue前后端分离整合过程解析
2020/11/20 Python
Django和Ueditor自定义存储上传文件的文件名
2021/02/25 Python
马来西亚最大的电器网站:Senheng
2017/10/13 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
JAVA和C++的区别
2013/10/06 面试题
事业单位个人应聘自荐信
2013/09/21 职场文书
会计助理的岗位职责
2013/11/29 职场文书
企业精细化管理实施方案
2014/03/23 职场文书
励志演讲稿300字
2014/08/21 职场文书
课外访万家心得体会
2014/09/03 职场文书
优秀教师自我评价范文
2014/09/27 职场文书
判缓刑人员个人思想汇报
2014/10/10 职场文书
2014年全国法制宣传日宣传活动方案
2014/11/02 职场文书
中学生检讨书范文
2014/11/03 职场文书
2015年元旦文艺晚会总结(学院)
2014/11/28 职场文书