加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在AJAX请求期间使用js禁用所有best_in_place字

发布时间:2020-12-17 02:05:01 所属栏目:百科 来源:网络整理
导读:我在rails 3.2应用程序中使用best_in_place 2.1.0. 我有一组最佳位置字段,其值相互依赖. 因为修改一个会更改所有这些值的值,所以当从任何一个发送AJAX请求时,我需要禁用所有这些值的编辑. 如果您注意到,最好的位置已经在等待AJAX??请求完成时禁用了一个字段.
我在rails 3.2应用程序中使用best_in_place 2.1.0.

我有一组最佳位置字段,其值相互依赖.
因为修改一个会更改所有这些值的值,所以当从任何一个发送AJAX请求时,我需要禁用所有这些值的编辑.

如果您注意到,最好的位置已经在等待AJAX??请求完成时禁用了一个字段.我只是想扩展它,以便它禁用所有这些.

我尝试重写onclick

$('.best_in_place').bind("onclick",function(e){ 
    e.stopPropogation();
    e.cancelBubble();
    return false; 
});

但那没用.有时它似乎在创建最佳就地字段之前被调用,但有时它似乎发生在之后.无论哪种方式,它都不适合我.

我还考虑过使用“best_in_place:activate”jQuery触发器,但是在BestInPlaceEditor.prototype {.. activate:}中的this.activateForm()之后调用它,这样就不起作用了.

我不确定该怎么做.任何会动态禁用所有或选择最佳位置字段的东西都适用于我.

解决方法

如果有人仍在为此寻找解决方案,我会在元素中添加一个类,并通过css取消事件:

在js中:

$('.best-in-place.parent-setting').on("ajax:success",function(e,t) {
    var enable = $(this).data('bip-value');
    var childrenSettings = $(this).data('children-setting');
    $('.best-in-place.'+childrenSettings).toggleClass('disabled',!enable);
});

在CSS中:

.best-in-place.disabled{
  opacity: .5;
  pointer-events: none;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读