javascript - Disabling default button action from the iframe parent -
i have website includes kinds of websites using iframe element, wanted have option disable default submit action of button elements inside iframe(i have overcome cross-origin problems).
now, first, tried adding 'disabled' attribute button elements inside iframe , works perfectly, found looks awful on websites(css issue) have focused on adding new click event handler return false , prevent default action. tried first on live website(without iframe), chrome console running this:
// disable click handler $('button').off('click') // submit form without handler $('button').bind('click', function(event) { event.stoppropagation(); return false; } );
and disables submit action. however, when tried same approach iframe:
<iframe id="iframe" src='http://somewebsite.com'></iframe> <script> var element = $($('#iframe').prop('contentdocument')).find('button').get(3); $(element).off('click'); $(element).bind('click', function(event) { event.stoppropagation(); return false; } ); console.log(jquery._data(element, 'events').click[0].handler) // output function (event) { event.stoppropagation(); return false; } </script>
as can see, dom element inside iframe has provided event handler stop default action, reason doesn't prevent it. there reason doesn't work iframe ?
can try following? make sure iframe loaded check content:
$("iframe").load(function (){ var btn = $('iframe').contents().find('bitton'); btn.off('click'); btn.bind('click', function(event) { event.stoppropagation(); return false; } ); });
Comments
Post a Comment