0

我阅读了以下内容,但仍想讨论.... evt = (evt) 的含义?evt:window.event

//是否需要传递evt,因为它没有在函数中使用???--- 试图让我的思想围绕这个 jQuery 的东西。

一个)

$('#' + _ids.btnPrintServiceCode).on('click', function (evt) {
        alert('Hello World')
    });

或者

二)

$('#' + _ids.btnPrintServiceCode).on('click', function () {
        alert('Hello World')
    });
4

2 回答 2

3

如果不使用,则无需传递evt...它是可选的...但是拥有它不会产生问题...

如果你需要监听事件,你基本上就通过evt了......说你想阻止某些元素的默认行为,所以你需要在这里 evt

HTML

<a href="#"></a>

jQuery

$('a').on('click', function (evt) {
    evt.preventDefault(); // this will prevent the deafult behaviour of that element
    alert('Hello World');
});

$('input').keyup(function(e){ //here we need to pass e as we are using e to get ther keyCode that was pressed
   if(e.keyCode == 8 )
   {
        alert('test');
    }
});
于 2013-04-30T18:01:34.890 回答
1

这样想吧。可以说我有这个功能:

function foo (bar) {
    alert("worky");
}
foo("foobar"); // worky

由于在函数内部我从未真正使用过,我可以通过从参数列表中bar删除来简化函数。bar

function foo () {
    alert("worky");
}
foo("foobar"); // worky

两者都会有相同的结果。您的事件绑定也是如此。由于您从未使用evt,因此没有理由将其传递给该函数,但是无论如何这样做都不会造成任何伤害。

如果以前的开发人员总是传递evt给事件处理程序回调,您应该继续这样做以保持代码一致,但这完全取决于您。

于 2013-04-30T18:11:54.163 回答