I'm trying to attach an eventlistener to the "click" event of a button on a page in an IFrame. The page in the iframe belongs to the same domain as the parent window.
window.frames["iframe_Id"].document.getElementById("button_id").addEventListener("click",functionToRun,false);
The above sample is not working for me. It could just be a a syntax error in my actual code but I wanted to see if this is the general idea.
Note: I found plenty of examples on adding the click event to the entire Iframe but I'm not sure it works the same for buttons within the Iframe.
Using jQuery:
Or without jQuery:
This will only work if the iframe meets the same origin policy.
window.frames is an array-like object, so its elements can be accessed by indexes only.
You should loop through them, and check their id, e.g.:
Have you tried executing the event in the "capturing" vs. "bubbling" phase?
Note the
true
instead offalse
as the final parameter.The contentWindow property.