ブラウザによるJQUERYマルチバインディングCLICKイベントへの影響

1198 ワード

最近同僚から受け取ったプロジェクトは、JQUERYで作ったもので、ページが更新されない効果を達成しています.その後、前に作ったページの中には予想通りの効果が得られなかったものもあることに気づいた.特に一部のコンポーネントは抽出することなく、共通のコンポーネントの抽出を開始する.
ページング・ボタンをクリックすると、異なるリクエスト・イベントをトリガーする必要があるため、ページング・コンポーネントがあり、特定のイベントが送信されます.
myself.preBtn.click(function(){
			myself.configs.curPageNum = 1;
		});
		myself.preBtn.click(callback);
		myself.preBtn.click(function(){
			myself.configs.curPageNum = 1;
			myself.pageTxt.val(myself.configs.curPageNum);
			$(this).attr('disabled',true);
			myself.nextBtn.attr('disabled',false);
			myself.endBtn.attr('disabled',false);
		});

この方式は火狐には問題なく、火狐ブラウザは順番にトリガーされる.しかしIEではmyselfが先にトリガーされた.preBtn.click(callback);これにより、ページングに問題が生じる.最終的には、次のように変更されます.
myself.preBtn.click(function(){
			myself.configs.curPageNum = 1;
            if(callback)
                callback();
			myself.pageTxt.val(myself.configs.curPageNum);
			$(this).attr('disabled',true);
			myself.nextBtn.attr('disabled',false);
			myself.endBtn.attr('disabled',false);
		});