将javascript函数存储在变量中并手动调用

时间:2017-11-23 08:07:54

标签: javascript function javascript-events event-handling

我想将函数引用存储在变量中,并通过在需要的地方调用来重新使用它。假设我有一个点击绑定功能,如下所示:

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

我想重复使用它:

//call somewhere
clickEvent();

但它显示错误clickEvent不是函数,为什么?

2 个答案:

答案 0 :(得分:0)

将代码段保留在函数中,但即使在这种情况下,也不会触发click事件。



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>
&#13;
&#13;
&#13;

仅使用javascript

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

答案 1 :(得分:0)

import vue from 'vue'; vue.use(Vuetable); vue.use(VuetablePagination); vue.use(VuetablePaginationDropdown); 不返回函数,它会返回$('#mode').click(...)的值,以便您可以链接方法,例如$('#mode')

如果需要处理程序函数的名称,请单独定义:

$('#mode').click(...).change(...)

然后在事件绑定中使用它:

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

或直接致电:

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