使用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之四(优雅的迭代)
Jun 20 Javascript
js 获取radio按钮值的实例
Aug 17 Javascript
js window.onload 加载多个函数和追加函数详解
Jan 08 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
Mar 01 Javascript
整理JavaScript创建对象的八种方法
Nov 03 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
Jan 29 Javascript
微信小程序开发图片拖拽实例详解
May 05 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
Sep 18 Javascript
fullpage.js最后一屏滚动方式
Feb 06 Javascript
VUEX-action可以修改state吗
Nov 19 Javascript
es6 for循环中let和var区别详解
Jan 12 Javascript
vue实现日历表格(element-ui)
Sep 24 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中的CMS的涵义
2007/03/11 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
2016/06/19 PHP
比较完整的微信开发php代码
2016/08/02 PHP
php操作redis常见方法示例【key与value操作】
2020/04/14 PHP
Prototype Template对象 学习
2009/07/19 Javascript
jquery时间下拉框小例子
2013/04/15 Javascript
阻止子元素继承父元素事件具体思路及实现
2013/05/02 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
jquery对复选框(checkbox)的操作汇总
2016/01/13 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
2017/09/04 Javascript
在vue项目中使用sass的配置方法
2018/03/20 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
2019/05/03 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
layer.prompt使文本框为空的情况下也能点击确定的方法
2019/09/24 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
jquery更改元素属性attr()方法操作示例
2020/05/22 jQuery
python抽象基类用法实例分析
2015/06/04 Python
Python编程产生非均匀随机数的几种方法代码分享
2017/12/13 Python
python如何制作英文字典
2019/06/25 Python
pytorch如何冻结某层参数的实现
2020/01/10 Python
Python3查找列表中重复元素的个数的3种方法详解
2020/02/13 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
世界知名接发和假发品牌:Poze Hair
2017/03/08 全球购物
英国在线女鞋目的地:SIMMI
2018/12/27 全球购物
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
Python机器学习算法之决策树算法的实现与优缺点
2021/05/13 Python
nginx结合openssl实现https的方法
2021/07/25 Servers
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android