错误:ReferenceError:事件未定义 [英] Error: ReferenceError: event is not defined

查看:106
本文介绍了错误:ReferenceError:事件未定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请帮助以下代码.

我在Firefox和IE上收到未定义事件"错误.

I am getting "event is not defined" error on firefox and ie.

问题似乎与event.preventDefault();

The issue appears tobe with event.preventDefault();

此CSS只是关闭了下拉菜单

this css just turns off the drop-down menu

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

jquery

jquery

自定义javascript

custom 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设置为函数参数:

You need to set is as a function parameter:

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

这篇关于错误:ReferenceError:事件未定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆