Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.04.2021, 11:18
Аспирант
Отправить личное сообщение для Quark_ Посмотреть профиль Найти все сообщения от Quark_
 
Регистрация: 24.06.2015
Сообщений: 96

Как заставить работать скрипт после загрузки другого?
К сайту подключаю скрипт бронирования, через: <script src="https://сторонний сайт/"></script>
Он после загрузки страницы добавляет блок <div id="lresponse">, в котором находится iframe.

Необходимо, чтобы по клику на любую область <div id="lresponse"> - у iframe менялся css, но такие варианты не срабатывают

jQuery(window).load(function() {
//jQuery(document).ready(function(){
jQuery('#lresponse').click(function() {
    jQuery('#lresponse iframe').css({
        'height': 'auto'
    });
});
});


как я понимаю из-за того, что мой скрипт "не видит" объекта.
Как решить эту проблему?
Ответить с цитированием
  #2 (permalink)  
Старый 01.04.2021, 11:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Quark_, строка 3
jQuery('body').on('click', '#lresponse', function() {
Ответить с цитированием
  #3 (permalink)  
Старый 01.04.2021, 11:51
Аспирант
Отправить личное сообщение для Quark_ Посмотреть профиль Найти все сообщения от Quark_
 
Регистрация: 24.06.2015
Сообщений: 96

Сообщение от рони Посмотреть сообщение
Quark_, строка 3
jQuery('body').on('click', '#lresponse', function() {

Не помогло...
Не знаю как на форуме запустить демку, в jsfiddle сделал https://jsfiddle.net/FacepalmZone/n29et38f/1/
Ответить с цитированием
  #4 (permalink)  
Старый 01.04.2021, 12:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Quark_
как на форуме запустить демку,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #5 (permalink)  
Старый 01.04.2021, 12:10
Аспирант
Отправить личное сообщение для Quark_ Посмотреть профиль Найти все сообщения от Quark_
 
Регистрация: 24.06.2015
Сообщений: 96

<div class="block">
<script src="https://pms.connectone.ru/module/?hid=eb225c"></script>
</div>

<style>
html {
  height: 500px;
}
.block {
  background: #000;
padding: 10px;
}
#rsnlresponse iframe {
  height: 150px;
}
</style>

<script>
jQuery(window).load(function() {
jQuery('body').on('click', '#rsnlresponse', function() {
    jQuery('#rsnlresponse iframe').css({
        'height': 'auto'
    });
});
});
</script>
Ответить с цитированием
  #6 (permalink)  
Старый 01.04.2021, 12:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Quark_,
как вариант ...
jQuery(window).on('load', function() {
window.setTimeout(function() {
 jQuery('#rsnlresponse iframe').css({
        'height': 'auto'
    });
}, 300)
});
Ответить с цитированием
  #7 (permalink)  
Старый 01.04.2021, 12:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Quark_,
нет у вас jQuery ни здесь ни в другой песочнице
Ответить с цитированием
  #8 (permalink)  
Старый 01.04.2021, 12:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Quark_,
<!DOCTYPE html>
<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
    </style>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
    <script>
jQuery(window).on('load', function() {
window.setTimeout(function() {
 jQuery('#rsnlresponse iframe').css({
        'height': 'auto'
    });
}, 300)
});
    </script>
</head>
<body>
<div class="block">
<script src="https://pms.connectone.ru/module/?hid=eb225c"></script>
</div>
</body>
</html>
Ответить с цитированием
  #9 (permalink)  
Старый 01.04.2021, 12:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Quark_
Как решить эту проблему?
вероятно никак, высота фрейма рассчитывается автоматически(скриптом) при любом изменении, клики не работают, да и бесполезны, скрипт восстанавливает необходимую ему высоту, и это атрибут а не стиль. можно
jQuery('#rsnlresponse iframe').attr({
        'height': 'auto'
    });
но это бесполезно. возможно есть решение, но мне он неизвестно.

Последний раз редактировалось рони, 01.04.2021 в 12:32.
Ответить с цитированием
  #10 (permalink)  
Старый 01.04.2021, 12:43
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

Я не понял, что там делает конкретный скрипт с этим конкретным iframe.
Click по фрейму прямым способом действительно не отловить.
Но можно косвенно.
https://gist.github.com/jaydson/1780598
Идея в том, что мы ловим mouseover на блоке под фреймом.
И если при этом происходит клик по фрейму, то наше окно теряет фокус в этот момент
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как подгрузить js после загрузки страницы? FRIE Общие вопросы Javascript 5 15.12.2012 00:02
Как таймер заставить работать поочерёдно вызываю одну и ту же функцию два раза? JavaScriptProgrammer Events/DOM/Window 12 08.11.2012 23:41
Как обратиться к элементу, который был добавлен после полной загрузки DOM? LysoSutriN jQuery 5 02.01.2012 16:59
После перехода на IE 9 javascript перестал работать как требуется javascript_pupil Общие вопросы Javascript 2 04.10.2011 11:19
Как заставить работать событие onLoad для embed slim-v Events/DOM/Window 0 16.09.2010 15:07