【问题标题】:How can i disable a Div like a button如何像按钮一样禁用 Div
【发布时间】:2013-07-30 09:56:20
【问题描述】:

我在<div> 的帮助下创建了一个按钮。现在我想像普通的 asp 按钮一样禁用该按钮...如何在 jQuery 的帮助下做到这一点?

function createButton(buttonName) {
    var buttonHtml = '<div id=' + buttonName + ' class="dynamicButton" onclick="' + buttonResources[buttonName + 'OnClick'] + '">' + '<div id="' + buttonName + 'Div" class="buttonImage"><img id="' + buttonName + 'Img" src="' + buttonResources[buttonName + 'Image'] + '"></div>' + '<div class="buttonCaption">' + '<label  class= "pointerCursor" id="' + buttonName + 'LabelDiv">' + buttonResources[buttonName + 'Caption'] + ' </label>' + '</div>' + '</div>';
    var panelName = buttonResources[buttonName + 'Panel'];
    if ($('#' + panelName + '').length == 0) {
        createNewPanel(panelName);
    }
    addButtonToPanel(panelName, buttonHtml, buttonName);
}

【问题讨论】:

  • 为什么要使用 div?您也可以设置/操作实际按钮
  • 可能重复http://stackoverflow.com/questions/16902734/how-can-i-disable-a-div-acting-like-a-submit-button-after-it-is-clicked-once
  • @NeerajDubey 请不要将链接发布为code,这会使链接无法点击。
  • 此外,动态添加这样的元素变得难以管理(个人吸取的惨痛教训)。检查 MVVM 框架(如 knockoutjs)。不太清楚为什么我在下面的帖子中有反对票,但它包括禁用点击事件。
  • 我没有使用按钮......

标签: jquery


【解决方案1】:

您可以使用 &lt;button&gt; 元素或使用 css pointer-events: none; 来禁用所有鼠标事件。

但是,正如预期的那样,css 不能在 IE 中工作

【讨论】:

    【解决方案2】:

    您可以向此 div 添加一个属性(例如:禁用)并在点击事件上对其进行测试以执行正确的操作

    【讨论】:

      【解决方案3】:

      你可以用 css 做到这一点。您需要与它一起使用另一个 div 并添加一个应用不透明度 0.5 并定位在按钮 div 上的类。

      【讨论】:

        【解决方案4】:

        假设您将 div 元素更改为按钮元素以符合 HTML 标准,您可以通过 jQuery 禁用该按钮...

        $("#" + buttonName).attr('disabled','disabled');
        

        ...也许删除点击事件...

        $("#" + buttonName).off('click');
        

        【讨论】:

          猜你喜欢
          • 2013-05-29
          • 1970-01-01
          • 2021-02-03
          • 2016-07-22
          • 1970-01-01
          • 1970-01-01
          • 2015-01-05
          • 1970-01-01
          • 2015-12-20
          相关资源
          最近更新 更多