1

我试图阻止我的 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>

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

我错过了什么吗?

4

1 回答 1

0

我只是有这个问题不要绑定点击你实际上要绑定点击!

它将在浏览器中运行,但移动版本实际上正在监听的是点击,并且即使点击被捕获,它也允许点击传播。值得注意的是,由于一些愚蠢的代码,点击在网络浏览器中有效魔术

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

于 2012-01-25T21:54:07.077 回答