ボタンクリック機能の参照を保持し、自分の作業を行ってから、元のクリック機能を実行したいと思います。
私は通常、document.readyでそのようなことができることを知っています。例:
var originalOnClick = $("#myBtn").click;
$("#myBtn").click = function() {
// do my staff here, and only then call the original:
originalOnClick();
}
(間違っている場合は、このコードを修正してください!)
しかし、私には特別な場合があります。私のページのonLoad関数には、非同期のajax呼び出しがあります。そのため、document.readyで呼び出される関数は、実際にはajaxコードが終了する前に呼び出されます。
click()またはonclick()を呼び出すときにクリックイベントを変更する方法はありますか?つまり、クリックイベントの直前/直後に呼び出されるイベントはありますか?
または、(このページが読み込まれていることがわかります)ボタンをクリックするようにユーザーに依頼する必要があります。そうして初めて、スタッフを実行できますか?
編集1:ajaxコードは含まれているスクリプトに含まれています。変更できません。
編集2:考えられる解決策:元のボタンを非表示にしますが、そのイベントを使用します:
HTML:
<div class="object1" style="display: none;" >original button.</div>
<div class="object2">my button.</div>
JS:
function doMyStuff() {
alert(' doMyStuff .');
}
$(document).ready(function(){
$('.object1').click(function(){
alert('original staff. ');
}); // actually, this is just a test code. In my project, I cannot edit this function
$('.object2').click(function() {
doMyStuff();
$('.object1').click();
});
});