Bootstrap modal: is not a function

后端 未结 13 2121
滥情空心
滥情空心 2020-12-02 17:45

I have a modal in my page. When I try to call it when the windows load, it prints an error to the console that says :

$(...).modal is not a function
         


        
13条回答
  •  抹茶落季
    2020-12-02 18:41

    Causes for TypeError: $(…).modal is not a function:

    1. Scripts are loaded in the wrong order.
    2. Multiple jQuery instances

    Solutions:

    1. In case, if a script attempt to access an element that hasn't been reached yet then you will get an error. Bootstrap depends on jQuery, so jQuery must be referenced first. So, you must be called the jquery.min.js and then bootstrap.min.js and further the bootstrap Modal error is actually the result of you not including bootstrap's javascript before calling the modal function. Modal is defined in bootstrap.js and not in jQuery. So the script should be included in this manner

          
         
      
    2. In case if there are multiple instances of jQuery, the second jQuery declaration prevents bootstrap.js from working correctly. so make use of jQuery.noConflict(); before calling the modal popup

      jQuery.noConflict();
      $('#prizePopup').modal('show');
      

      jQuery event aliases like .load, .unload or .error deprecated since jQuery 1.8.

      $(window).on('load', function(){ 
            $('#prizePopup').modal('show');
      });
      

      OR try opening the modal popup directly

      $('#prizePopup').on('shown.bs.modal', function () {
            ...
      });
      

提交回复
热议问题