【问题标题】:Cant preventDefault() on jQTouch link无法在 jQTouch 链接上阻止默认()
【发布时间】:2011-10-06 13:06:30
【问题描述】:

我试图阻止我的 jQTouch 应用程序中的链接加载 href 中的页面。我的代码的一个非常简化的版本如下

<html>
    <head>
        <script type="text/javascript" src="/jquery.js"></script>
        <link rel="stylesheet" type="text/css" href="/jqtouch/css-jqtouch.css">
        <script type="text/javascript" src="/jqtouch/jqtouch.js"></script>
        <script type="text/javascript">
            $(document).ready(function()
            {
                var jQT = $.jQTouch({});

                $('#row0 a').bind('click', function(e) 
                {
                    e.preventDefault();
                    alert('test');
                });

            });
        </script>
    </head>
    <body>
        <div id="jqt">
            <div id="row0">
                <a href="#searchResults">Search</a>
            </div>

            <div id="searchResults">
                <a href="#" class="back">Back</a>
            </div>
        </div>
    </body>
</html>

当我点击“搜索”链接时,会出现警告框,但页面仍会加载。

我错过了什么吗?

【问题讨论】:

    标签: jquery web-applications jqtouch preventdefault


    【解决方案1】:

    我刚刚遇到了这个问题,不要绑定到单击,您实际上想要绑定到点击!

    它可以在浏览器中工作,但移动版本实际上正在监听的是点击,并且允许即使点击被捕获,点击也会传播。值得注意的是,由于一些愚蠢的代码魔法,点击可以在 Web 浏览器中工作

    点击和点击之间的区别有点令人困惑,但如果你看在 jqtouch-jquery.js 文件的源代码中,您将了解为什么需要使用点击而不是单击(即使您使用的是 Zepto,这与查看发生了什么相关)。

    【讨论】:

      猜你喜欢
      • 2017-07-16
      • 2019-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-18
      • 1970-01-01
      • 2012-06-14
      • 2011-04-03
      相关资源
      最近更新 更多