【问题标题】:Bind ajax call back in rails 2.3.11 using jQuery使用 jQuery 在 rails 2.3.11 中绑定 ajax 回调
【发布时间】:2012-02-13 09:30:28
【问题描述】:

我有一个 remote_form_for。现在 :onclick 我想禁用提交按钮,而在 ajax:complete 我想重新启用按钮。

:onclick 禁用工作正常,但使用 ajax:complete 事件重新启用它不起作用。

有什么想法吗?

代码来了,

(function(jQuery){
    jQuery.fn.disableWith = function(options){
        var settings = jQuery.extend({
            disable_event : function(e){
                e.preventDefault();
                return false;
            }
        }, options);

    this.bind('click', function(){
        jQuery(this).click(settings.disable_event);
    });
    this.bind("ajax:complete", function(){
        jQuery(this).unbind('click', settings.disable_event);
    });

    return this;
    };
})(jQuery);

【问题讨论】:

    标签: jquery ruby-on-rails ruby-on-rails-2


    【解决方案1】:

    您使用了错误的事件 - 尝试ajaxComplete

    this.bind("ajaxComplete", function(){
        jQuery(this).unbind('click', settings.disable_event);
    });
    

    Docs on Ajax Events

    【讨论】:

    • 如果您在事件函数中添加alert();console.log() - 事件是否会触发?
    • 它不会进入事件内部。所以警报();或 console.log() 没有给出任何输出。如果我使用 jquery ajax 函数调用 "ajaxComplete" 提交表单工作正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 2023-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    相关资源
    最近更新 更多