简体   繁体   中英

how to run a jQuery function after certain element is displayed

I have a modal that is displayed only once (like a dialog box) after user logged-in firstly. And also I've got a function in that modal file that is supposed to run if modal is displayed. Here is function:

$('#some_element').(function someFunc() {
      console.log("gUM is used now");
      //some stuff to do
});

I tried on('click') and it works fine. But I don't need it. Also, I tried on('load'), but it works before modal is displayed. Any help will be appreciated. Thanks in advance.

Hello i think you can use events. for example for jquery dialog there is many events and function to know if dialod is open http://api.jqueryui.com/dialog/#method-isOpen and some events like open or beforeClose or you can use jquery to detect if the element is visible $("#SomeElement").is(":visible")

Not an ideal solution but you could start a timer in on load, and have it run a function every half second to check if the modal is visible:

var checkModalTimer;

$(document).ready(function() {
  checkModalTimer = setInterval(function() {
     if ($('modal').is(':visible')) {
       // do your function
       clearInterval(checkModalTimer);
     }
  }, 500);
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM