Web元素状态更改时等待

时间:2018-08-09 10:21:52

标签: javascript jquery node.js dom

我需要等待网络元素状态更改(类属性):

while(!$('#modal').hasClass('is-active')) {
        //Need to wait 500ms here
      }

我可以将其保留为空,但是会占用太多资源。有办法解决吗?

1 个答案:

答案 0 :(得分:0)

正确的方法是在emit an event更改状态时进入modal。如果您正在使用引导程序(我认为您正在这样做),它将提供几个事件。

  

show.bs.modal :调用show实例方法时,将立即触发此事件。如果是由点击引起的,则clicked元素   可以用作事件的relatedTarget属性。

     

shown.bs.modal :当该模式对用户可见时将触发此事件(将等待CSS转换完成)​​。如果   由点击引起的,clicked元素可用作   事件的relatedTarget属性。

您可以在应用中使用该事件。

$('#myModal').on('shown.bs.modal', function (e) {
  // do something...
})

您可以在这里参考:https://getbootstrap.com/docs/4.0/components/modal/#events

我不知道它与Node.JS有什么关系,原因很可能是您在view(MVC的)或其他框架(如react,angular,vue或简单的jQuery)中使用它