WebアプリケーションにjQuery(1.8.2)とjQuery mobile(1.1.1)を挿入しました。ここで、この単純なハンドラーを作成すると、次のようになります。
$('.pulsante-menu').click(function () {
console.log("ooo");
});
リンクをクリックすると、そのコンソールメッセージが2回表示されます。どうすれば修正できますか?
これが私のコードです!
スクリプトを<head>
要素または別のJavaScriptファイルに移動します。または、pageinitを使用してみてください。これを行う理由は、jQuery.comのこの投稿で説明されています。
フィドルでハンドラーを2回定義し、1回はJSセクションで、もう1回はHTMLセクションのスクリプトタグで定義します。それらの1つを削除すると、機能するはずです。
更新されたフィドルを確認してください。
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");
});