jQuery.Event——我的数据在哪里?

标签 jquery events

我有一些代码看起来像这样(缩短):

$.ajax({
    url: $form.attr('action'),
    data: formData,
    type: $form.find('input[name=_method]').val() || $form.attr('method') || 'POST'
}).done(function (data, textStatus, $xhr) {
    var eventParams = {
        xhr: $xhr,
        validator: validator
    };
    $form.trigger($.Event('ajaxify-success',eventParams));
});

我这样使用它:

$('#label-form').on('ajaxify-success', function(ev) {
    console.log(ev);
});

但是ev.data始终是未定义。如果我修改 eventParams 以将数据返回:

var eventParams = {
    xhr: $xhr,
    validator: validator,
    data: data
};

仍然不起作用。 jQuery 正在做一些事情来主动删除数据。为什么?我基本上想传播 ajax done 事件并添加我自己的几个额外属性。我怎样才能做到这一点而不丢失数据

最佳答案

您不能使用 data 作为任意事件参数,因为它由 jQuery 为 Event.data 保留。 .

参见Fiddle

关于jQuery.Event——我的数据在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30489526/

相关文章:

php - 如何从 Wordpress 的 Post 字段中列出所有类别,甚至是未选中的类别?

javascript - 使用 jQuery 更新 CSS 变换值

windows - 单击后禁用按钮

c# - 在 C# 中捕获和发送键盘/鼠标输入

.net - ASP.NET 中的计时问题

javascript - 如何创建 php 函数或任何脚本/jquery Javascript,以允许我获取与复选框关联的值并添加它们?

javascript - 接下来的3个

javascript - 以最小间隔触发 javascript 事件

JavaScript:if 语句;对触摸元素的目标运行检查

c++ - 阻止 alt+shift 事件或禁止以编程方式更改语言