javascript - jQuery 如果禁用此功能 - 则不起作用

标签 javascript jquery

我需要检查选择器是否在点击时被禁用。

<a href="#" class="btn btn-primary sendOrderToSage" data-id="97" disabled="disabled">Send To Sage</a>

我当前的代码不起作用,是:

$('.sendOrderToSage').on('click',function(e){
    e.preventDefault();
    if($(this).is(':disabled') == true){
        return false;
    }
 /* Continue function */
 });

我也尝试过 $('.sendOrderToSage:not(:disabled)')..... 但这会产生与上述尝试相同的结果。

最佳答案

disabled属性/属性对于诸如 input,select 之类的元素有效。 ETC。 在 anchor 标记 disabled 中只是另一个属性。所以如果你想获取它,你需要使用 attr()

$('.sendOrderToSage').on('click', function(e) {
  e.preventDefault();
  if ($(this).attr('disabled') == 'disabled') {
    return false;
  }
  /* Continue function */
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<a href="#" class="btn btn-primary sendOrderToSage" data-id="97" disabled="disabled">Send To Sage</a>

:disabled

这里返回$(this).is(':disabled')对于<a>始终为 false,因为它是 anchor 的无效属性。

$('.sendOrderToSage').on('click mousedown', function(e) {
  e.preventDefault();
  alert($(this).is(':disabled'));
  if ($(this).attr('disabled') == 'disabled') {
    return false;
  }
  /* Continue function */
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<a href="#" class="btn btn-primary sendOrderToSage" data-id="97" disabled="disabled">This will always return false.</a><br/>

关于javascript - jQuery 如果禁用此功能 - 则不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32285405/

相关文章:

javascript - 如何在另一个元素之后添加元素?

javascript - 阻止日期选择器四处 float

JavaScript 不适用于 android WebView,Uncaught ReferenceError

php - 有人能给我一个从 URL 上传图片的例子吗?

javascript - 将第一个数组中的元素位置与另一个数组进行比较

jquery - 不允许空格作为第一个字符,只允许使用 jquery 的字母

javascript - 如何在javascript中实现唯一键值设置?

javascript - 命名函数表达式 : Difference between var bar = function () {} & var bar = function foo(){}

javascript - 通过 PHP 将图像文件(不是通过表单选择,只是在一个文件夹中)上传到 mysql?

javascript - 如何在 jQuery 中重新加载 div