我想将函数引用存储在变量中,然后通过在需要的任何地方调用它来使用它。假设我有这样的点击界函数:
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();