jQuery:在函数内部访问.on()中的第二个元素?

时间:2017-03-13 17:30:10

标签: jquery arguments advanced-custom-fields

我刚刚与文件上传器进行了多个小时的争吵,因为.on('change'..)事件不会触发,并且能够通过更改代码来修复它:

$('.acf-file-uploader input').on('change', function() {...}

为:

$(document).on('change', $('.acf-file-uploader input'), function() {...}

我的问题是该函数大量使用this来设置输入字段的动画并操纵上传的文件。

我如何在这个新结构下引用元素(即$('.acf-file-uploader input')?注意,有多个上传字段允许多个文件,这就是为什么我必须使用类来定位它们。

1 个答案:

答案 0 :(得分:0)

这不行吗? 你需要给我更多代码才能看到真正的问题。这对我有用:D

 <!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
  <form action="myform.cgi">
  <input class="acf-file-uploader" type="file" name="fileupload" value="fileupload" id="fileupload">
  <label for="fileupload"> Select a file to upload</label></br>

  <input class="acf-file-uploader" type="file" name="fileupload2" value="fileupload" id="fileupload">
  <label for="fileupload"> Select a file to upload 2</label></br>


  <input type="file" name="fileupload3" value="fileupload" id="fileupload">
  <label for="fileupload"> Select a file to upload 3</label></br>


  <input type="submit" value="submit">
  </form>
  <script>
  function notify() {
     console.log("change");
   }
   $( ".acf-file-uploader, :file" ).on( "change", notify);
  </script>
</body>
</html>