【问题标题】:Disabling <a href=""> inside a <div> using jquery使用 jquery 在 <div> 中禁用 <a href="">
【发布时间】:2013-08-24 19:05:11
【问题描述】:

我正在尝试使用 Jquery 禁用 div 标签内的超链接,我使用了以下代码,但没有帮助。

JQuery - 1.7v

html 代码 -

<div id="content">TESTING PURPOSE <(a)> href="/test/">Click Here <(a)> End </div>

jQuery - JS

$('#content').find("*").prop("disabled", true);

$('#content').prop("disabled", true);

【问题讨论】:

  • Anchor 元素没有 disabled 属性,您可以取消点击 @dystroy 回答的那些属性
  • 我重新格式化了你的问题。请查看差异(以及编辑帮助)。

标签: javascript jquery jquery-ui


【解决方案1】:

你可以这样做:

$('#content a').click(function(){ return false });

从 click 事件处理程序返回 false 会阻止默认行为(按照链接)。

如果您可能有多个链接,但您只想禁用这个链接,您可能会在选择器中更具体:

$('#content a[href="/test/"]').click(function(){ return false });

【讨论】:

  • 我喜欢这种方法,代码越少,做的越多,越不损害易读性越好(恕我直言)
  • @RobSchmuecker 您可能需要阅读the documentation“从处理程序返回 false 等效于在事件对象上调用 .preventDefault() 和 .stopPropagation()。”我>
【解决方案2】:

使用 preventDefault 禁用链接的默认行为。

这是一个小代码 sn-p:

$('#content a').click(function(e) {
  // stop/prevent default behavior
  e.preventDefault();

  // do other stuff...
  // e.g. alert('Link is deactivated');
});

Here is a little jsFiddle example

Difference between e.preventDefault and return false

来源:Stackoverflow - jquery link tag enable disable

【讨论】:

    【解决方案3】:
    $('#content a').click(function(e) {
    
      e.preventDefault();
    
    });
    

    【讨论】:

      【解决方案4】:
      $('.modal-body a').css({"pointer-events":"none"});
      

      【讨论】:

        【解决方案5】:

        您也可以这样做,只需使用删除功能为该锚标记提供 div 名称。

        $('.div_name a').remove();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-06-27
          • 1970-01-01
          • 1970-01-01
          • 2014-02-11
          • 2012-10-24
          • 2018-06-15
          • 2011-01-07
          • 1970-01-01
          相关资源
          最近更新 更多