我试图阻止我的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>
当我点击“搜索”链接时,系统会显示警告框,但页面仍会加载。
我错过了什么吗?
答案 0 :(得分:0)
我刚刚遇到这个问题没有绑定点击你实际上想要绑定点击!
它将在浏览器中工作,但移动版本实际上正在监听的是点击和即使点击被捕获,也允许水龙头传播。值得注意的是,由于一些愚蠢的代码魔法,网页浏览器中的水龙头工作
点击和点击之间的区别有点令人困惑但是如果你在jqtouch-jquery.js文件中查看源代码,你就会知道为什么需要使用tap而不是点击(即使你使用的是Zepto,这与查看发生了什么相关)。