この記事ではjQueryで後続の実行内容をキャンセルする例を中心に紹介しており、コードも分かりやすいです。困っている友達は見てみてください
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript"> //点击a标签,不进行页面跳转 window.onload = function () { var obj = document.getElementById("myhref"); obj.onclick = function (event) { //取消默认行为 //return false; //分浏览器 //IE下 //01.第一道能力检测 event = event || window.event; if (event.preventDefault) { //非IE下 event.preventDefault(); } else { event.returnValue = false; } }; } </script> </head> <body> <a id="myhref" href="http://www.baidu.com">去百度</a> </body> </html>
ここでの a タグのクリック効果は、本来は Baidu ページにジャンプするものですが、このクリック イベントの後続のコンテンツが実行されないように、パラメーターを使用してデフォルトの動作をキャンセルすることができます。
同じラベルをクリックした後に複数のイベントが発生する場合があります。最初のイベントのみを実行して後続のイベントを破棄したい場合は、それを防ぐコードを追加できます:
クリックしてください!
jquery はどのようにバインド後のイベントを防ぐのですか
あなたのコードはページ中にすでに読み込まれていますロードプロセス イベントバインディングが完了した後、後でバインドされたイベントを防ぐ方法はありませんが、現在指定されているノードのイベントバインディングを削除することはできます。メソッドは次のとおりです:
$("#btn").click(function(){ if($("#tx").val()==""){ alert("e1"); }else{ //删除后绑定的事件。。。 $("#btn").unbind('click'); } });
説明:
unbind([type],[data])
bind() の逆の操作は、一致する各要素からバインドされたイベントを削除します。
パラメータがない場合、バインドされたイベントはすべて削除されます。
bind()で登録したカスタムイベントのバインドを解除できます。
I イベント タイプがパラメーターとして指定された場合、そのタイプのバインドされたイベントのみが削除されます。
バインディング時に渡されたハンドラー関数が第 2 パラメータとして使用されている場合、この特定のイベント ハンドラー関数のみが削除されます。
jquery: 2 回目のクリック イベントを防ぐにはどうすればよいですか?
jquery は、クリックを 1 回だけトリガーするメソッド
obj.one(function(){ });
、または obj.unbind("click") を使用してクリック イベントをキャンセルするメソッドを提供します