JavaScript 运行时错误 : Object doesn't support property or method 'addEventListener

标签 javascript jquery

我正在使用 Asp.Net 2.0,正在尝试使用 asp.net 拖放文件。 对于此过程,我使用以下 js

<script src="../Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="../Scripts/modernizr-2.5.3.js" type="text/javascript"></script>

这就是为什么错误会这样出现

JavaScript runtime error: Object doesn't support property or method 'addEventListener 

我正在使用 IE11

所以我使用了一个代码

<meta http-equiv="X-UA-Compatible" content="IE=edge;" />

它不工作

我的脚本是

 <script type="text/javascript" language="javascript">



    var selectedFiles;

      $(document).ready(function () {
alert("");
        if (!Modernizr.draganddrop) {
        //alert("2");
          alert("This browser doesn't support File API and Drag & Drop features of HTML5!");
          return;
        }

        var box;
        box = document.getElementById("box");
       alert(box);
        box.addEventListener("dragenter", OnDragEnter, false);
        box.addEventListener("dragover", OnDragOver, false);
        box.addEventListener("drop", OnDrop, false);

        $("#upload").click(function () {
          var data = new FormData();
          for (var i = 0; i < selectedFiles.length; i++) {
            data.append(selectedFiles[i].name, selectedFiles[i]);
          }
          $.ajax({
            type: "POST",
            url: "FileHandler.ashx",
            contentType: false,
            processData: false,
            data: data,
            success: function (result) {
              alert(result);
            },
            error: function () {
              alert("There was error uploading files!");
            }
          });
        });

      });;

      function OnDragEnter(e) {
        e.stopPropagation();
        e.preventDefault();
      }

      function OnDragOver(e) {
        e.stopPropagation();
        e.preventDefault();
      }

      function OnDrop(e) {
        e.stopPropagation();
        e.preventDefault();
        selectedFiles = e.dataTransfer.files;
        $("#box").text(selectedFiles.length + " file(s) selected for uploading!");
      }



    </script>

我的aspx页面是

<body>
<form id="form1" runat="server">
<center>
  <div id="box">Drag & Drop files from your machine on this box.</div>
  <br />
  <input id="upload" type="button" value="Upload Selected Files" />
</center>
</form>

但是这个应用程序拖放文件在 Chrome 和 Firefox 中运行良好 IE 中唯一的问题

建议我找到解决方案。 提前致谢。

最佳答案

从met标签中取出ie11,并添加以下代码。这是解释here .

/* IE11 Fix for SP2010 */
if (typeof UserAgentInfo.strBrowser !== 'undefined' && !window.addEventListener) {
     UserAgentInfo.strBrowser=1;
}

关于JavaScript 运行时错误 : Object doesn't support property or method 'addEventListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31319440/

相关文章:

javascript - 在 react 中需要将注意力集中在 div 上

javascript - 在 CSS 弹出窗口中格式化文本的问题

javascript - 使用 Javascript (JQuery) 解析纯数据

javascript - AngularJS 切换选定的框

javascript - 单击 <li> 列表仅适用于第一个

javascript - 输入焦点后触发主页按钮

jquery - 类未添加到单击事件处理程序中

javascript - Angular js $http post 不起作用

javascript - 如何在不调用特定 css 的情况下隐藏特殊字符

Jquery 在滚动上淡入 Logo