单击处理程序不起作用

时间:2014-12-08 17:05:25

标签: jquery

我有一些类PhotoUploadSubmit的按钮,当点击一个按钮时,会使用自定义点击处理程序来查看兄弟元素等。点击处理程序不起作用,{{ 1}}永不熄灭,断点没有被击中,我完全感到困惑。

debugger

就我尝试的内容而言,我尝试将点击处理程序置于<div class="formDataContext"> <input type="file" name="ImageData" style="display:none" /> <button class="PhotoUploadSubmit"><i class="fa fa-camera fa-5x"></i></button> </div> <script type="text/javascript"> $(function () { $(".PhotoUploadSubmit").on("click", function () { debugger; var currentFormDataContext = $(this).closest(".formDataContext"); console.log(currentFormDataContext); var FileInput = currentFormDataContext.find("input:file")[0]; console.log(FileInput); $(FileInput).click(); }); $("input:file").change(function () { var currentFormDataContext = $(this).closest(".formDataContext"); uploadImage(currentFormDataContext); }); }); </script> 之外,我尝试使用document.ready关键字,并尝试设置断点。没有控制台错误。

1 个答案:

答案 0 :(得分:3)

由于buttons是动态添加的,因此您可以delegate。例如:

$("body").on("click", '.PhotoUploadSubmit', function () {
    debugger;
    var currentFormDataContext = $(this).closest(".formDataContext");
    console.log(currentFormDataContext);
    var FileInput = currentFormDataContext.find("input:file")[0];
    console.log(FileInput);
    $(FileInput).click();
});