繁体   English   中英

Javascript .. 使用纯 JS 禁用 #div?

[英]Javascript.. Disable a #div using pure JS?

我搜索过 stackoverflow 并在谷歌中浏览了许多页面。 没有什么能帮助我禁用我的按钮。 所以我来到这里希望有人可以帮助我。

这是我试图禁用的按钮。

编辑:这与您自己所说的 surposed dublicate 不同,这是一个带有链接而不是按钮的 div。

<div class="de elBTN elAlign_center elMargin0 ui-droppable de-editable" id="button-80437" data-de-type="button" data-de-editing="false" data-title="button" data-ce="false" data-trigger="none" data-animate="fade" data-delay="500" style="margin-top: 30px; outline: currentcolor none medium; cursor: pointer; display: block;" data-elbuttontype="2" aria-disabled="false" data-element-theme="customized">
  <a href="#" class="elButton elButtonSize1 elButtonColor1 elButtonRounded elButtonPadding2 elButtonCorner3 elBtnHP_25 elBTN_b_1 elBTNone elButtonBlock elButtonFull elBtnVP_5 elButtonShadow5 elButtonTxtColor1 de1pxLetterSpacing no-button-effect" style="color: rgb(255, 255, 255); background: rgb(1, 116, 199);; font-size: 20px;" data-show-button-ids="tmp_paragraph-42317,headline-29302" data-hide-button-ids="headline-71892,button-80437" id="undefined-503">
    <span class="elButtonMain">YES</span>
    <span class="elButtonSub" style="font-size: 14px;">I Understand</span>
  </a>
</div>

这就是我正在尝试做的。

ver = iOSversion(); 
if (ver[0] <= 11.4) { 
  alert('Your OS is below 11.4, please use a different device.'); 
  document.getElementById('button-80437').disabled = true;
} 
function disableEnable(elems, isDisabled){ 
  for(var i = elems.length-1;i>=0;i++) {
    elems[i].disabled = isDisabled;
  }
}

也尝试过这些……没有。

var div = document.getElementsById("button-80437");
disableEnable(div.getElementsByTagName("button"), true);

编辑:感谢您的回答。 我很感激。 不幸的是,我无法将其更改为按钮,因为它是使用所见即所得的“clickfunnels”制作的。

也许我可以这样做。

如何禁用 JavaScript 中的 href 链接?

注入 href="javascript: void(0)" ?

div元素没有disabled属性。 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/div

如果您改用button ,则可以设置disabled属性来禁用该按钮。 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button

看起来您可能正在使用一个框架,希望您以不同的方式禁用按钮。 如果您包含该信息,将会有所帮助。

就像Jorge 所说的,您代码中的主要问题是您试图禁用非表单元素。

您可以:

  • 通过在 HTML 元素上放置 CSSpointer-events: none来禁用<div> *
  • 将您的<div>更改为<button> (这一个表单元素)并使用您当前的方法(在 Javascript 中设置disabled属性)

*您可以在此处找到有关pointer-events浏览器支持信息: https : //caniuse.com/pointer-events

我明白你想做什么 所以听着

1)“禁用”适用于按钮

2)您拥有的是“不是按钮”而是“div内的超链接”

3)那你能做什么?

您必须使用样式来显示您的“小丑按钮”已禁用

if( version < 11.4 ) {
  // make element div style looks like its disabled
  // <a href="#"> 
}
else{
  // make element div style looks like it is active
  // <a href="<your-link-url>"
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM