将JavaScript函数存储在变量中,然后手动呼叫



我想将函数引用存储在变量中,然后通过在需要的任何地方调用它来使用它。假设我有这样的点击界函数:

var clickEvent = $('#mode').click(function () {
   alert("Hello");
});

我想这样重复使用:

//call somewhere
clickEvent();

,但它显示出错误的clickevent不是函数,为什么?

将摘要保留在功能中,但是即使在这种情况下,点击事件也不会触发。

var x = function() {
  $('#mode').click(function() {
    alert("Hello");
  });
   // on call of this function click event will
  $("#mode").trigger('click')
}
x()
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="mode"> Click</button>

仅使用JavaScript

var x = function() {
  var el = document.getElementById('mode')
  el.addEventListener('click', function() {
    alert('clicked')
  })
  el.click();
}
x()
<button id="mode"> Click</button>

$('#mode').click(...)不返回函数,它返回$('#mode')的值,以便您可以链方法,例如。$('#mode').click(...).change(...)

如果您想要处理程序功能的名称,请单独定义它:

function clickEvent() {
    alert("Hello");
}

,然后在绑定时使用它:

$("#mode").click(clickEvent);

或直接致电:

clickEvent();

相关内容

  • 没有找到相关文章

最新更新