jquery 如何禁用Umbrella JS的输入?

6xfqseft  于 2023-10-17  发布在  jQuery
关注(0)|答案(3)|浏览(108)

UmbrellaJS文档中提到(类似于jQuery)应该知道attrprop之间的区别。我发现了一些关于在jQuery中使用prop或attr for disabled的讨论,但我所知道的是Umbrella没有prop,并且在Umbrella中更改disabled似乎不起作用:
u('#my-input').attr('disabled', true);
u('#my-input').attr('disabled', false);
(标记jQuery,因为它是相关的,并且熟悉jQuery的人可能可以用他们的直觉回答这个问题)

wkyowqbh

wkyowqbh1#

我相信你不能删除一个项目的属性。
如果您希望禁用所有元素,可以执行以下操作

u('.permissionItem').each( function(e){e.disabled = false;});

或者,如果它只是一个项目,你可以做

u('.permissionItem').first().disabled = false;

.first()和foreach循环都给予节点,而不是伞形元素。

yyyllmsg

yyyllmsg2#

我也有同样的问题,即使在做了@Haroldo Gondim的建议之后,我也无法删除禁用的属性。我就是这么解决的...

u('#my-input').nodes[0].disabled = true;
u('#my-input').nodes[0].disabled = false;
zlhcx6iw

zlhcx6iw3#

你也可以把它作为一个插件添加,如果你经常这样做的话:

u.prototype.prop = function(name, value) {
  // This will handle those elements that can accept a pair with these footprints:
  // .prop('a'), .prop('a', 'b'), .prop({ a: 'b' })
  return this.pairs(name, value, function (node, name) {
    return node[name];
  }, function (node, name, value) {
    node[name] = value;
  });
}

然后它应该表现得与jQuery类似:

u('#my-input').prop('disabled', true);
u('#my-input').prop('disabled', false);

相关问题