我在我的 Web 应用程序中插入了 jQuery (1.8.2) 和 jQuery mobile (1.1.1)。现在,如果我创建这个简单的处理程序:
$('.pulsante-menu').click(function () {
console.log("ooo");
});
然后单击链接,我看到该控制台消息两次!我该如何解决?
这是我的代码!
将脚本移动到<head>
元素中或单独的 JavaScript 文件中。或尝试使用pageinit。jQuery.com 上的这篇文章解释了这样做的原因。
您在小提琴中定义了两次处理程序,一次在 JS 部分中,一次在 HTML 部分的脚本标记中。删除其中一个,它应该可以工作。
检查我更新的小提琴。
HTML:
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.js"></script>
<script src="http://jquerymobile.com/demos/1.1.1/js/jquery.mobile-1.1.1.js" type="text/javascript"></script>
</head>
<body>
<a href="#" class="prova">Link</a>
</body>
JavaScript:
$('.prova').click(function () {
console.log("ooo");
return false; // stopPropagation and preventDefault
});
</p>
你可以试试这样的。
$('.pulsante-menu').click(function (e) {
e.stopPropagation();
console.log("ooo");
});