javascript - 错误 : ReferenceError: event is not defined

标签 javascript jquery

<分区>

请帮助编写以下代码。

我在 Firefox 和 IE 上收到“事件未定义”错误。

问题似乎与 event.preventDefault() 有关;

这个css只是关闭了下拉菜单

    <style type="text/css">
    .dropdown {
        display: none;
        opacity: 0;
    }
    </style>

查询

自定义javascript

    <script type="text/javascript">

              $( document ).ready(function(){

                  jQuery('.download-dropdown > a').click( function() {
                      event.preventDefault();
                      var $this=jQuery(this);
                      if (!$this.parent().hasClass('active')) {
                          var top=$this.parent().offset().top;
                          var left=$this.parent().offset().left;
                          jQuery('body').append($this.parent());
                          $this.parent().addClass('active');
                          $this.parent().css({ 'position': 'absolute',
                                                'top': top,
                                                'left': left,
                                                'z-index': 999});
                          $this.parent().children('.dropdown').animate({ 'opacity': '1','height': 'toggle'});
                          $this.parent().animate({'height': '400'});
                          window.dropdown=$this;
                      }
                      else {
                          $this.parent().css({ 'position': 'relative',
                                              'top': 'inherit',
                                                'left': 'inherit',
                                                'z-index': 1});
                          $this.parent().removeClass('active');
                          jQuery('article.contact-download > div > section > div').append($this.parent());
                          $this.parent().children('.dropdown').animate({ 'opacity': '0','height': 'toggle'});
                          $this.parent().animate({'height': '45'});
                      }

                  });



              });

          </script>

这是html

    <article class="contact-download" data-background-height="60">
      <section data-speed="0">
        <div>
          <div class="download-dropdown" style="height: 60px; position: relative; z-index: 1; top: inherit; left: inherit; display: inline-table"> <a style="padding-left: 25px; text-decoration:none; " href="#">click to see more</a>
            <div class="dropdown">
              <ul>
                <li><a href="#">Link 1</a></li>
                <li><a href="#">Link 2</a></li>
                <li><a href="#">Link 3</a></li>
                <li><a href="#">Link 4</a></li>
              </ul>
            </div>
          </div>
        </div>
      </section>
    </article>

最佳答案

您需要将 is 设置为函数参数:

jQuery('.download-dropdown > a').click( function(event) {
    // event is defined now                      __^__

关于javascript - 错误 : ReferenceError: event is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26027926/

相关文章:

javascript - Bootstrap 下拉菜单 - 仅复选框选择而不选择文本

javascript - 在 WordPress 中的 TinyMCE 模式中加载 TinyMCE 编辑器

javascript - 存储一个事件处理程序中的变量以供另一事件处理程序使用

javascript - NodeJS 应用程序中的 AngularJS "ReferenceError: window is not defined"

javascript - 最好是 `mainApp.config([' $routeProvider', function($routeProvider )` and ` mainApp.config(function($routeProvider)`

javascript - 如何在 jQuery 中进行计算并打印值?

jquery - 使用 EE 的 {entry_id} 参数来定位 Jquery 函数中的各个条目?

javascript - 如何在去抖动中传递参数

javascript - 一个事件处理程序在 jquery 中否定另一个事件处理程序 -- click()

javascript - Jquery - 如何将事件类添加到整个导航菜单路径?