私は大きな問題を抱えています。私はいくつかのサードパーティのjsインクルードを持っており、それらはボタンクリックでいくつかの情報をポップアップします。それはiframeにあります。もちろん、私はこのiframeにアクセスできません。ただし、サードパーティはクリックをキャプチャしてiframeポップアップを閉じます。したがって、動作は次のようになります-
私はユーザーです。この「サードパーティのボタンをクリックすると、iframeが右下に固定されてポップアップ表示されます」。ここで、メインの親ページ(マイページ)の任意の場所をクリックすると、iframeが閉じます。
ここに問題があります。私はいくつかのカスタムフォームフィールド/スパンなどを持っています...それらがバブルする前にクリックをキャプチャするので、document.bodyはその「クリック」を決して取得しません。
どうすればこれを偽造できますか?「マウスダウン」を試してみましたが、それが伝播しているようです。だから私は次のようなことを言いました:
jQuery(document.body).mousedown(function(){
jQuery(document.body).click();
})
ですから、マウスダウンが何であれ、クリックが発生していると言いたいのです。しかし、それは機能しません。理由がわかりませんか?そのクリックをdivにアタッチしてアラートを出すと、アラートが表示されますが、おそらく「ネイティブに」同じではありません。
クリックされた要素がバブルアップする前にネイティブのクリックされたイベントをキャプチャした場合、またはその場合にボディクリックイベントを真にシミュレートするアイデアはありますか?
編集:私はさまざまなことを試しました。すなわち:
<div id="captureclick"></div>
<script>
jQuery(document.body).mousedown(function(){
jQuery("#captureclick").click();
})
</script>
私も試しました:jQueryのトリガー関数trigger('click');
動作していません。ボタンを「クリックターゲット」として使用することはまだ試していません。ありがとう。