jQuery は、複数の送信によるクリックとダブルクリックを防止し、動的関数または複数のパラメーターを渡す_jquery

WBOY
リリース: 2016-05-16 16:53:41
オリジナル
1090 人が閲覧しました

今日は、JQ のダブルクリック イベントが複数の送信を妨げる問題について書きます。このイベントは関数を通じてバッチで定義できるため、より汎用性が高く、メソッドを通じて要素のイベントを動的にバインドできます。また、関数名または複数のパラメーターを動的に渡すことができます (この例では関数名のみを渡し、それを Eva​​l を通じて呼び出します)。

jQuery のイベント バインディングでは、ダブルクリック イベント (dblclick) の実行時に 2 つのクリック イベント (click) をトリガーできることは誰もが知っています。つまり、ラベル要素 (div など) がクリック イベント (click) とダブルクリック イベント (dblclick) の両方にバインドされている場合、クリック イベント (click) が実行されると、ダブルクリック イベント (dblclick) はトリガーされず、ダブルクリック イベント (dblclick) は 2 つのクリック イベント (click) をトリガーしません。

まず、クリック イベントの実行シーケンスを確認します。

クリック (クリック): マウスダウン、マウスアウト、クリック;
ダブルクリック (dblclick): マウスダウン、マウスアウト、クリック、マウスダウン、mouseout 、click、dblclick;

ダブルクリック イベント (dblclick) では、トリガーされた 2 つのクリック イベント (click) のうち、最初のクリック イベント (click) はブロックされますが、2 番目のクリック イベント (click) はブロックされません。ミーティング。つまり、ダブルクリック イベント (dblclick) は、クリック イベント (click) の結果とダブルクリック イベント (dblclick) の結果を返します。ダブルクリック イベントの結果 (dblclick) と 2 つのクリック イベントの結果 (click) の代わりに。

この場合は、余分なクリックイベント(クリック)を削除するだけで問題は解決します。

効果は次のとおりです:
http://images.cnitblog.com/i/554071/201404/010846579687197.png
ソース コードは次のとおりです:

コードをコピー コードは次のとおりです:








テスト結果を表示:

クリックしてください< /div>

"javascript">

function std (obj,vs){
var funs=$(obj).attr("onclick"); obj).click(function() {
clearTimeout(TimeFn);
TimeFn = setTimeout(function(){
eval(funs);
clearTimeout(TimeFn);
}, 400 );
});

$(obj).dblclick(function() {
clearTimeout(TimeFn);
}); onclick");
}

var ss1=function(s){$("#show").html("DIV はテスト結果を表示します:" s);alert("a");} ;// div
var ss2=function(s){$("#show").html("INPUT はテスト結果を表示します:" s);alert("b");};//メソッドによって呼び出されるメソッドinput

によって呼び出されます // メソッド
std("#div","div")
std("#but1","button1"); >


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!