jQuery禁用应用于元素的自定义功能

时间:2018-06-28 13:22:55

标签: javascript jquery

我有一个分配给元素(输入)的功能。它可以工作,但是一旦应用我就不能禁用它

 function applyCustomfunc() {
      $('#element').customFunction();
 }

我需要编写另一个函数,该函数将在onclick时触发,并将禁用第一个函数

 function disableCustomfunc () {
     /// Do something
 }

1 个答案:

答案 0 :(得分:1)

您始终可以使用css pointerEvents属性来禁用或启用任何元素的点击,请参见演示

$("#click-element").on('click', function(e) {
  e.preventDefault();
  alert("clicked");
});

$("#disable").on('click', function() {
  $("#click-element").css({
    pointerEvents: 'none'
  });
})

$("#enable").on('click', function() {
  $("#click-element").css({
    pointerEvents: 'auto'
  });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">


<a href="#." id="click-element">Click it <i class="fa fa-link"></i></a>
<div>
  <input type="button" value="Disable Now" id="disable">
  <input type="button" value="Enable Now" id="enable">
</div>

对于您的情况,您可以像

一样使用它

要禁用customFunction

function disableCustomfunc () {
     $("#element").css({pointerEvents:'none'});
 }

使用

重新启用
 function enableCustomfunc () {
     $("#element").css({pointerEvents:'auto'});
 }