使用CSS和JQuery,模拟超链接的用户单击事件

系统 1597 0
      
        在正式开始本文之前,先来简单介绍下HTML的<a>标签:
      
      
        使用<a>标签,我们可以在HTML页面上定义锚(anchor),锚有两种用法:
      
    
  1. 通过使用 href 属性,创建指向另外一个文档的链接(或超链接)
  2. 通过使用 name 或 id 属性,创建一个文档内部的书签(也就是说,可以创建指向文档片段的链接)

本文的内容与锚的第一种用法有关。

      <!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="http://www.cnblogs.com/return8023/">剑过不留痕 - 博客园</a>
        <br />
        <br />
        <span id="spanAGo" style="border: 1px solid black;">点击我,将调用以上超链接的单击事件</span>
    </div>
    </form>
</body>
</html>
    

 

      以上代码的运行效果如下图所示:
    

使用CSS和JQuery,模拟超链接的用户单击事件

      
        点击超链接,页面可以正常跳转;
      
      
        但点击标签,页面却不可以跳转;
      
      
        以上,在IE8和Chrome里都无法跳转(其他浏览器未测试)。
      
      
        所以,接下来要实现的效果,就是在点击标签的时候让页面跳转(也就是在调用超链接的单击事件时,让页面跳转),且写的代码要少,且最好是在一个地方处理,一个项目不可能就一个页面,一个页面不可能就一个超链接,且不能做的太死,怎么说锚的另一个作用是书签,别链接是可以跳转了,锚的书签作用被屏蔽了,且……。
      
    

使用CSS和JQuery,模拟超链接的用户单击事件

 

      a.forward
{
}
    

 

      $(document).ready(function () {

    // 使超链接支持click事件,方便JavaScript调用
    $('a.forward').click(function () {
        location.href = $(this)[0].href;
        return false;
    });

});
    

 

      修改过后的页面源码如下:
    
      <!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="http://www.cnblogs.com/return8023">剑过不留痕 - 博客园</a>
        <br />
        <br />
        <span id="spanAGo" style="border: 1px solid black;">点击我,将调用以上超链接的单击事件</span>
    </div>
    </form>
</body>
</html>
    

 

      
        运行一下(截图略),点击标签,页面完美跳转,(*^__^*) 嘻嘻
      
      
        好了,最后来总结一下,模拟超链接的用户单击事件,我们需要做的就是:
      
    
  1. 导入外部CSS文件,Main.css,导入外部JavaScript文件Main.js(必须在导入JQuery文件之后导入);
  2. 给超链接添加CSS类“forward”;
  3. 然后3是什么呢?然后想不出来然后了。
  4. 最后祝大家敲代码愉快。

出处: http://www.cnblogs.com/return8023/archive/2012/05/19/2509177.html

 

使用CSS和JQuery,模拟超链接的用户单击事件


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论