【问题标题】:Simulate click on valums Ajax Uploader模拟点击值 Ajax Uploader
【发布时间】:2011-11-07 14:35:56
【问题描述】:

我无法让 jQuery 的“click()”在 Valums Ajax Uploader 按钮中工作。

我需要从代码中模拟按钮点击,但似乎这个插件不使用点击来启动文件资源管理器。选择器是正确的,并且没有 JavaScript 错误,但我就是无法让它工作。

也尝试了triggerlive,结果相同。

这是电话:

$("div[class='qq-upload-button']").click();

我是不是调用了错误的事件?

【问题讨论】:

    标签: javascript jquery ajax file-upload


    【解决方案1】:

    Div 没有点击事件。而不是div,你必须用这样的代码调用按钮的点击事件。

    document.getElementById('btnUpload').click();
    

    但是,由 Valums Ajax Uploader 生成的按钮没有 id 或类。您必须通过编辑值脚本 (fileuploader.js) 添加一个 id 属性。只需在 javascript 文件中找到input.setAttribute("type", "file"); 行并在其下插入input.setAttribute("id", "btnUpload");

    【讨论】:

    • 无需添加 id,您只需将其链接到主 div 内已经有您的 ID 的输入即可。我将使用 jQuery 来演示... $('#uploadElementID input').trigger('click');其中#uploadElementID 是用于设置 FileUploader 的元素属性。
    • @sevenkul:很好的解决方案。这非常适合我的用例。
    【解决方案2】:

    我猜你必须找到点击时调用的函数,然后手动调用它。

    【讨论】:

    • 我已经阅读了插件源代码,并且没有点击绑定(我认为)。不使用 click 来监听点击事件还有哪些可能?
    猜你喜欢
    • 1970-01-01
    • 2016-05-03
    • 2012-07-26
    • 2021-01-04
    • 2018-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    相关资源
    最近更新 更多