次のコードを使用して、iframe 内のすべてのクリック イベントをインターセプトします。
$(doc.body).on("click", function(e) {
if (e.from === undefined) {
e.preventDefault();
e.stopPropagation();
interceptEvent(e);
}
}
はinterceptEvent(e)
XML メッセージを (元の e.target へのパスとともに) 送信します。このメッセージは、次の関数によって (別のブラウザーで) キャッチされます。
if (document.createEvent) { //Netscape
var evt = document.createEvent("HTMLEvents");
evt.initEvent(value, false, true);
evt.from = 'trigger'; //trigger for recognize a XML programmatically event
return !$('.browser').contents().find(path)[0].dispatchEvent(evt);
}
この関数の目的は、イベントを再現することです。ループを回避するために (傍受は他のブラウザーでも有効です) dispatchedEvent
、プロパティに「from」を追加します。
これにもかかわらず、e.form
は常に ですがundefined
、どこが間違っていますか?